【问题标题】:EXcel images linked to Cell Value (VBA)链接到单元格值 (VBA) 的 EXcel 图像
【发布时间】:2015-07-21 10:51:45
【问题描述】:

我正在尝试在 Excel 工作表中显示链接到单元格值的图像

示例 - 如果单元格 A1 = 值 10,则显示图像(图片 10)

然后是另一个单元格

如果 Cell Cell A10 - 值为 90%,则显示图像(图片 90)。

我使用了下面的 VBA 代码,它对 A1 工作正常,但是当我添加第二个单元格值和图片时,它只会显示 A1 值/图片。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("J27")) Is Nothing _
    And Not Target.Count > 1 Then

        For Each shp In Me.Shapes
            If shp.Type = msoPicture Then
                shp.Visible = msoFalse

            End If
        Next

        Select Case Range("J27").value
            Case "10"
            Me.Shapes("Picture 10").Visible = msoTrue
            Case "11"
            Me.Shapes("Picture 11").Visible = msoTrue
            Case "12"
            Me.Shapes("Picture 12").Visible = msoTrue
            Case "13"
            Me.Shapes("Picture 13").Visible = msoTrue
            Case "14"
            Me.Shapes("Picture 14").Visible = msoTrue

       End Select
    End If
End Sub

请帮忙!

【问题讨论】:

  • 请更正您的代码格式,这样更容易发现问题

标签: excel image vba cell


【解决方案1】:

你似乎有两个问题。

  • 每张图片只有 1 个副本,因此如果两个单元格的值相同,则它们需要共享同一张图片
  • 您的代码总是在显示其中一个之前隐藏所有图像(因此您永远不能同时显示两个)

我建议隐藏所有图像,根据需要复制它们并重命名它们(例如 ImageCellA1),以便在需要删除/更新它们时可以通过名称引用它们。

【讨论】:

  • 上述 VBA 代码仅在使用 1 个单元格值和多个图像时有效,但就像上面的评论一样,当我尝试添加更多链接到另一个单元格值的图像时,它会隐藏所有其他图像。我需要一个 AND代码什么的?
  • 就像我说的,您的代码在显示其中一个之前隐藏了所有图像。这就是您只能看到一张图片的原因,因为您的代码就是这样做的。
猜你喜欢
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多