使用公式中现有单元格的值
我在Excel 2010中使用“相机”function。
我的目标是有一个单元格,我可以手动input一个date,在它下面的公式会得到更新的值,它代表另一个excel文件中的工作表的名称,并显示我更新的屏幕截图。
例如:单元格A1
有: 12.25
就在它下面,我有: ='C:\My_Excel_Files\[excelDataFile.xlsx]12.25'!$A$1:$D$20
所以如果我将Cell A1
的值更改为12.26
,公式会自动select它。
我尝试使用这样的间接函数: ='C:\My_Excel_Files\[excelDataFile.xlsx]INDIRECT(A1)'!$A$1:$D$20
但它没有工作。
正如在这个论坛和这个网站 上提到的,你可以使用免费的MOREFUNC.XLL加载项。 它提供的INDIRECT.EXT函数将完全按照您的要求进行操作。 你需要的公式是:
=INDIRECT.EXT("'C:\My_Excel_Files\[excelDataFile.xlsx]" & A1 & "'!$A$1:$D$20")
在哪里你在string的中间concuate A1的值。
注意:这些网站的链接似乎并不总是工作,你可以谷歌“MOREFUNC下载”或尝试以下链接之一:
http://download.cnet.com/Morefunc/3000-2077_4-10423159.html
http://www.freewarefiles.com/Morefunc_program_14922.html
稍微不同的方法可能适合你。 我们假设:
- 相机图像对象被称为
MyCameraImage
- “其他”工作簿被称为
SO09.xlsm
- 您的图片相对应的范围是
$F$1:$I$5
并且在所有相关工作表上都是相同的 - 您inputdate的单元格(在与相机图像的工作表中)是
A1
使用相机图像将Worksheet_Change
事件添加到工作表
Private Sub Worksheet_Change(ByVal Target As Range) Dim wbOther As Workbook Dim wsOther As Worksheet If Not Intersect(Target, Me.[A1]) Is Nothing Then Set wbOther = Workbooks("SO09.xlsm") On Error GoTo EH Set wsOther = wbOther.Worksheets(CStr([A1])) Me.Shapes("MyCameraImage").DrawingObject.Formula = "='[" & wbOther.Name & "]" & [A1] & "'!$F$1:$I$5" EH: End If End Sub
这会将Camera Image引用更新为单元格A1
指定的工作表(如果存在的话)
请注意,“其他”工作簿必须打开才能正常工作并更新图像
是的,这是非常简单的。 创build两个xlsx文件,我们称它们为s1.xlsx和s2.xlsx 。 这是从S1开始 ,我们要创build相机,但数据是在S2 。
在s2
- 打开两张表,在s2中创build你想要的。 然后全部选中并按下“复制”button。
在s1
- 然后回到s1 ,无论你想放哪里,select你要粘贴的左上angular的单元格。
- 然后转到粘贴button,但点击它的下拉菜单。 第二个图标将是一个链接,如果你hover它说“粘贴链接”。 去做。
- 然后select你想要的所有数据(包括粘贴的链接单元格),然后按相机button(假设你已经将它添加到你的QAT中)。 然后select你想把你的相机截图放在s1的任何地方,然后点击那里。 屏幕截图将被创build。
- ( 注意 :粘贴的链接看起来像
=Excel.Sheet.12|'C:\Users\Me\Desktop\s2.xlsx'!'!Sheet1!R3C1:R4C2'
)
在s2
- 然后回到s2并更改链接单元格中的任何值(s)
在s1
- 您会立即看到s1中的屏幕截图所反映的值。