更改工作表之间的链接单元格


0

我有一个名为“stu”的工作簿,它有1到30张。在细胞中 H4 我已经链接了一个公式:

=[sub.xlsx]Sheet1!$B$2

工作表Sheet1 :细胞H4细胞中的配方 H4 应该 =[sub.xlsx]Sheet1!$B$2
Sheet2中 :细胞H4细胞中的配方 H4 应该 =[sub.xlsx]Sheet1!$B$3
表Sheet 3 :细胞H4细胞中的配方 H4 应该 =[sub.xlsx]Sheet1!$B$4
sheet4 :细胞H4细胞中的配方 H4 应该 =[sub.xlsx]Sheet1!$B$5
sheet5 :细胞H4细胞中的配方 H4 应该 =[sub.xlsx]Sheet1!$B$6
..等等..

..................................

所以在每张纸上,单元格都不应该自动更改。我不必按=符号并一次又一次输入。


请你 编辑 并澄清你的问题?目前它没有任何意义,因为你只做了陈述,没有提出问题。
CharlieRB

Answers:


2

在Excel中,键入 Alt键 + F11 打开Visual Basic窗口。 在左侧,右键单击电子表格的名称和 InsertModule。 一个 Module1 - Code 子窗口将在右侧打开。在该窗口中插入以下内容:

Function SHEET_NUM()
    SHEET_NUM = Application.Caller.Parent.Index
End Function

现在返回电子表格。只是为了好玩,看看它是如何工作的,输入 =SHEET_NUM() 进入任何细胞。它应该显示它所在的工作表编号。所以,输入

=INDIRECT("[sub.xlsx]Sheet1!$B$" & (SHEET_NUM()+1))

进入细胞 H4 在每张纸上。该 SHEET_NUM()+1 子表达式将评估为 2Sheet13Sheet2等等... - 换句话说,您在参考中想要的行号。 & 是连接运算符;它将结合常量字符串 "[sub.xlsx]Sheet1!$B$" 使用计算的行号,得到您想要的引用。 该 INDIRECT function接受一个看起来像引用的字符串并取消引用它;即,它获取引用的值。

一些警告:

  • 如果你正在处理一本工作簿( stu.xlsx )引用另一个( sub.xlsx ) 每当你使用第一本书时,你都需要打开第二本书 - 虽然Excel可以在封闭的书中引用数据,但是 INDIRECT 功能不能。 如果这是一个问题,您可以执行复制和粘贴值操作。
  • 您需要将工作簿保存为 .xlsm 每次打开文件并启用宏。 (或者执行上述复制和粘贴值操作。)
  • AFAICT,工作表在创建时会被分配一个数字,而且很难改变。 特别是,如果你移动你的床单,他们将保留他们的 原版的 号, 这会令人困惑。 (但另一方面,你可以重命名它们,而不必担心改变它们的数量。)

我怀疑 一世 会这么麻烦:-)但是这可以解决问题,正如我所理解的那样,所以+1。我也可以看到这个原则在其他地方很有用。关于表编号(次要)问题的耻辱,但它似乎是不可避免的。 = CELL(“文件名”)乍一看可能看起来很有希望显示的纸张编号的来源,但这很复杂,因为它是最后一个 要么 两位数,在任何情况下都严重受到波动的影响。
pnuts

1

如果没有VBA,以下步骤应该准确地得到您正在寻找的公式:

  1. 选择要显示公式的所有工作表(可以通过按住“Ctrl”并单击其选项卡将每个工作表添加到选择中)
  2. 将以下公式输入另一个空白单元格,可能是H3: = IF(LEFT(RIGHT(CELL( “文件名”,$ A $ 1),2),1)= “T”,RIGHT(CELL( “文件名”,$ A $ 1),1),RIGHT(CELL(“文件名”,$ A $ 1),2))
  3. 在单元格H4中输入以下公式(将H3替换为您在步骤2中使用的单元格): = “!= [sub.xlsx] Sheet 1中$ B $” &安培; H3 + 1
  4. 选择单元格H4,复制和粘贴值
  5. 清除步骤2中创建的公式
  6. 在整个工作簿中查找并替换“=”和“=”(Ctrl + H用于查找和替换)
  7. 取消选择其他工作表(您可以通过按住“Ctrl”并单击其选项卡从选择中删除每个工作表)

除非您知道如何使用选定的多个工作表,否则请勿在步骤1和步骤7之间执行任何其他操作。


也有点令人费解 我的 品味但工作和避免VBA总是我的偏好,所以+1。我可以看到原则(处理= CELL波动性的“两步”过程)在其他地方有用。
pnuts

0

你最好的选择可能是打开sub.xlsx,在stu中对所有30张进行分组,插入一个版本的公式(例如= [sub.xlsx] Sheet1!$ B $ 2,在stu的sheet1的H4中),取消组合然后手动调整每张stu中的H4(除了输入公式的那个,例如在sheet2中替换2乘3等)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.