-2

我想知道是否有使用公式(不是 VBA)从 Excel 中的图片列表中加载图片的解决方案

例如,

=IF(TODAY()-B9<8,G6,"puste")

假设我在 cell 中有一张图片,G6如果条件为真,我希望公式返回。

在此处输入图像描述

4

1 回答 1

1

简而言之,解决方案可以概括为两个步骤:

  1. 使用 Excel 的 PasteSpecial 方法创建链接图片单元格。
  2. 将链接单元格的公式修改为“命名范围”公式,使其动态化。
  3. (可选)- 如果有很多单元格,并且发现手动更改每个链接图像的地址很烦人,则使用下面的 VBA 宏将命名范围公式分配给所有单元格。

Sub Set_Formula_Linked_Cell()

Dim rngDest As Range
Dim objPic As Object

    For Each rngDest In Range("F5:O18").Cells
        rngDest.Select
        Set objPic = ActiveSheet.Pictures.Paste(Link:=True)
        objPic.Formula = "=Country_Flag"
        Set objPic = Nothing
    Next
End Sub

详细来说,让我们来看看类似的情况:

  1. 假设我们有一个 Country 及其相邻标志的列表。

国家国旗列表表

  1. 下一步是复制单元格(任何包含标志的单元格,不要复制图片,而是复制单元格/范围)并将链接图片粘贴到目标单元格中​​。

创建链接到原始图像的单元格

  1. 现在,在地址栏中仔细观察会发现显示标志的当前单元格链接到另一个单元格。我们需要改变这个公式。不幸的是,我们不能在这里更改公式。它可以是直接引用或命名范围,但不能是公式。

更改公式

  1. 我们将创建一个名为“Country_Flag”的“命名范围”,公式为:

=INDEX(Sheet1!$B$2:$B$6,MATCH(Sheet1!$F$3,Sheet1!$A$2:$A$6,0))

创建名称范围

  1. 在最后一步中,我们将此命名范围分配给链接的单元格。

将命名范围分配给链接单元格

于 2019-01-25T01:55:58.483 回答