假设我有一个带有"天气类型"的两列表。第一列有天气类型(例如雨,雪,冰,云,太阳),第二列有一个代表天气类型的图片图标。
说我有第二个"工作日"表格显示本周预期的天气再次使用相同的两列,但这次有7行,即7天。但是,让我们说这个表的第一列每周都会自动更新,如果我希望第二列中显示的图片自动匹配第一个表中相应天气类型的图片,该怎么办。
答案 0 :(得分:1)
这种情况可以很容易地解决。
要实现的最重要的事情是:
如果您选择任何图片,然后在公式栏中键入单元格引用(例如=A1
或=A1:D1
),图片将使用该公式来确定要显示的内容。该公式使图片框架“查找”位于公式中引用的单元格上方的任何形状对象。然后,所选图片将显示公式参考中单元格上方的部分形状(即图片)。
这意味着正在查找图像的形状通常需要在一个单元格内完全显示。
Capiche!?
所以在我在我的问题中绘制的场景中,“Weekdays”表格需要在每一行上都有一张空图片,其中一个公式在“天气类型”表格中对具有天气图片的单元格的引用中结果“超过它。这比你想象的要复杂,因为空图片“不知道”它是哪个单元格。
这意味着每张显示图像的图片都需要链接到一个单元格。这是通过为需要查找其图片的每张图片创建命名函数或命名范围来实现的。这个命名的函数/范围引用了与该单个图片相关的单元格(我稍后将其称为RELATED_CELL
)
使用命名函数返回对单元格的引用有很多种方法。下面有两个例子:
EXAMPLE METHOD 1
此示例依赖于包含命名范围名称的RELATED_CELL
部分。然后INDIRECT用于获取指定范围引用的单元格的引用。这需要包含用于查找图片的WeatherTypeName的列中每个单独单元格的命名范围。
这篇技术在文章here中有很好的描述。
EXAMPLE METHOD 2 (My preferred method)
在此示例中,RELATED_CELL
包含要查找的WeatherType名称。它不依赖于天气类型表中的所有单元格都是命名范围。相反,它使用“查找”方法扫描并检查天气类型名称值以查找图片。
可以在页面here
的评论中找到完整的解释评论者提供的附件非常有用,请参阅here
请注意,您不能使用VLOOKUP本身,因为它返回单元格的值而不是对它的引用。而是使用MATCH
,ADDRESS
和INDIRECT
来查找RELATED_CELL
中的值。
我想补充一点,我从给出的链接中学习了这些技术,并模仿了pdf中的示例。我希望我上面解释的要点可以帮助你更容易地理解这些方法。
哈维
答案 1 :(得分:0)
有关通过VBA设置图像源的其他说明。
可以在隐藏的工作表上有各种各样的图片形状(和/或文本框形状),例如sheets("Images")
,然后通过VBA在主要图片上设置图片形状单张到任何一张。
实施例
Sheets("Images")
包含" pic1" $ 1澳元," pic2"在B2中," txt1" C3中的(文本的形状而不是图片)
Sheets(1)
包含图片" picTest" (最初通过从图像表中复制pic1创建)
将picTest的公式设置为=Images!SB$2
或=Images!C3
等,图片也会相应更改。
这可以通过VBA实现:sheets(1).pictures("picTest").formula = "Images!$A$1"
请注意,它可能无法复制任何图片格式属性,因此如果某些图片应用了非默认格式,则您需要编写相关属性的复制脚本。