excel 如何替换单元格引用工作簿名称,例如sheet1中有单元格=sheet2!B2,如何用VB全部替换为=sheet3!B2。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel 如何替换单元格引用工作簿名称,例如sheet1中有单元格=sheet2!B2,如何用VB全部替换为=sheet3!B2。相关的知识,希望对你有一定的参考价值。

excel中,sheet1中引用了其他工作簿(如sheet2)中的数据,例如:a1-a5单元格分别等于sheet2中的a1,a3,a5,a9,a10(不连续且无规律),我想在sheet1中的a6-a10中实现其值等于sheet3中的a1,a3,a5,a9,a10的值,因为数据量大,以上仅列举了5个数据的例子,有没有好的办法,不用一个一个的查找目标值。(也就是说把“=Sheet2!A1”自动替换成“=Sheet3!A1”)。只能用VB语言替换,不能用ctrl+find的替换功能。

参考技术A For i = 1 To 5 '此处可改为任何需要的数
Sheets(1).Cells(5 + i, 1).Value = "=Sheet3!A" & i
Next i
如果是100个
For i = 1 To 100 '此处可改为任何需要的数
Sheets(1).Cells(100 + i, 1).Value = "=Sheet3!A" & i
Next i
注意二者区别,仅将5或100所在的位置替换即可
参考技术B 在SHEET1表A1输入公式:
=INDIRECT("Sheet"&CEILING(ROW()/5,1)+1&"!A"&CHOOSE(MOD(ROW(),5)+1,10,1,3,5,9))
将公式向下复制。
A11--A15引用SHEET4工作表的a1,a3,a5,a9,a10
以此类推。
参考技术C excel查找替换功能可以替换公式里面的内容的。如果全部替换就用这个方法可行。追问

不能用这个功能,要用代码实现。

参考技术D 用什么VBA,直接用indirect函数即可。 第5个回答  2013-01-25 Sub mysub()
For Each cell In UsedRange
cell.Formula = Replace(cell.Formula, "Sheet2", "Sheet3")
Next
End Sub本回答被提问者采纳

EXCEL如何引用其它文件名下表格中单元格数据?

参考技术A

EXCEL引用其他表格文件中的单元格是可以实现的。

一、引用公式:

='C:\\Documents and Settings\\Administrator\\My Documents\\[工作簿1.xlsx]Sheet1'!A1

二、以上公式由四部分组成,详细解释:

1、C:\\Documents and Settings\\Administrator\\My Documents\\ 这部分是“电子表格文件”所在完整的路径。

2、[工作簿1.xlsx]这是工作簿名称,即文件名,用方括号括起来。

3、Sheet1这是工作表名称(注意:前面三部分用半角单引号括起来)。

4、最后再加一个!被引用单元格名称即可。

以上是关于excel 如何替换单元格引用工作簿名称,例如sheet1中有单元格=sheet2!B2,如何用VB全部替换为=sheet3!B2。的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL如何引用其它文件名下表格中单元格数据?

如何实现excel电子表格审计追踪功能

VBA中如何引用另一工作表中的单元格区域

excel或者vba,怎样将工作簿内所有橙色单元格公式转换为数值?

(Excel) 引用另一个工作表中的单元格时,我可以将工作表名称作为单元格值传递吗?

如何在EXCEL公式中引用另一表格数据