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

时间:2012-01-09 04:07:01

标签: excel excel-formula

我正在使用excel 2010中的“相机”功能。

我的目标是让一个单元格具有我可以手动输入的日期,在其下方,公式将获得更新的值,该值表示另一个excel文件中的工作表名称,并向我显示更新的屏幕截图。 / p>

例如: 单元格A1具有:12.25

就在它下面,我有: ='C:\My_Excel_Files\[excelDataFile.xlsx]12.25'!$A$1:$D$20

因此,如果我要将单元格A1的值更改为12.26,则公式会自动选择该值。

我尝试使用这样的间接函数: ='C:\My_Excel_Files\[excelDataFile.xlsx]INDIRECT(A1)'!$A$1:$D$20

但它不起作用。

3 个答案:

答案 0 :(得分:1)

如上所述on this forumthis website,您可以使用免费的MOREFUNC.XLL加载项。它提供了INDIRECT.EXT函数,它将完全按照您的要求执行。你需要的公式将是:

=INDIRECT.EXT("'C:\My_Excel_Files\[excelDataFile.xlsx]" & A1 & "'!$A$1:$D$20")

在字符串中间区分A1的值。

注意:这些网站中的链接似乎并不总是有效,您可以谷歌“更多下载”或尝试其中一个链接:

http://download.cnet.com/Morefunc/3000-2077_4-10423159.html
http://www.freewarefiles.com/Morefunc_program_14922.html

答案 1 :(得分:0)

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

  1. 相机图像对象名为MyCameraImage
  2. “其他”工作簿称为SO09.xlsm
  3. 您的图片对应的范围是$F$1:$I$5,并且在所有相关的工作表上都相同
  4. 您输入日期的单元格(在带有摄像头图像的工作表中)为A1
  5. 使用摄像头图像

    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
    

    这会将相机图像参考更新为单元格A1中指定的工作表(如果存在)
    请注意,必须打开“其他”工作簿才能使其工作并使图像更新

答案 2 :(得分:0)

是的,这非常简单。创建两个xlsx文档,我们称之为 s1.xlsx s2.xlsx 。它来自 s1 我们要创建相机,但数据位于 s2

  • 打开两张纸,在 s2 中创建您想要的内容。然后选择它 全部并按“复制”按钮。
在s1

  • 然后返回 s1 ,无论您想要放置它,请选择 你要粘贴的左上角的单元格。
  • 然后转到粘贴按钮,但单击它的下拉列表。第二个图标 将是一个链链接,如果你悬停它说“粘贴链接”。那样做。
  • 然后选择您想要的所有数据(包括粘贴的链接) 单元格并按下相机按钮(假设您已将其添加到 你的QAT)。然后选择要放置相机屏幕截图的位置 在s1任何地方,然后点击那里。将创建屏幕截图。
  • 注意:粘贴的链接看起来像 =Excel.Sheet.12|'C:\Users\Me\Desktop\s2.xlsx'!'!Sheet1!R3C1:R4C2'

  • 然后返回 s2 并更改其中的任何值 链接的细胞
在s1

  • 您会在 s1 中看到屏幕截图中反映的值 立即