自动显示图片

时间:2011-03-04 16:11:53

标签: vb.net

我将流动的代码设置到我可以将数字插入单元格A1:J1中的数字从1到10.然后我有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 个答案:

答案 0 :(得分:1)

您应该将新图片插入到相应的单元格中,而不是仅仅移动相同的单元格(这就是为什么您的代码不允许重复图片)。 This link可能对您将图片插入Excel电子表格有所帮助。