2011-03-04 73 views
0

我有流动的代码设置,我可以从一个数字从1到10插入一个数字到单元格A1:J1中。然后我有10个图片对应于1到10的数字。所以如果我把数字1插入A1,与它相关的图像显示在它下面。这适用于A1:J1范围内的所有单元格。现在我的问题是,如果我在A1中输入1,然后在单元格C1中输入另一个1,则图像从单元格A1下移动到C1下方。我希望它能够像A1:J1范围内的所有数字一样,然后在所有这些数字下面显示相同的图片。自动显示图片

Private Sub Worksheet_Change(ByVal Target As Range) 

    Dim rngCell As Range 
    Me.Pictures.Visible = False 
    Application.EnableEvents = False 
    If Not Application.Intersect(Target, Me.Range("A1:J1")) Is Nothing Then 
     For Each rngCell In Me.Range("A1:J1") 
      On Error Resume Next 
      Me.Pictures("BldgA" & rngCell.Value).Visible = True 
      Me.Pictures("BldgA" & rngCell.Value).Top = rngCell.Offset(1).Top 
      Me.Pictures("BldgA" & rngCell.Value).Left = rngCell.Offset(1).Left 
      Err.Clear: On Error GoTo -1: On Error GoTo 0 
     Next rngCell 
    End If 
    Application.EnableEvents = True 

End Sub 

回答

1

你应该插入一个新的图片到合适的细胞,而不是仅仅走动同一个(这就是为什么你的代码将不会允许重复的图片)的。 This link可能会帮助您将图片插入Excel电子表格中。