使用公式中现有单元格的值

我在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

稍微不同的方法可能适合你。 我们假设:

  1. 相机图像对象被称为MyCameraImage
  2. “其他”工作簿被称为SO09.xlsm
  3. 您的图片相对应的范围是$F$1:$I$5并且在所有相关工作表上都是相同的
  4. 您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.xlsxs2.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中的屏幕截图所反映的值。