gpt4 book ai didi

vba - Excel VBA 搜索文件中的所有公式并用单元格值替换文本

转载 作者:行者123 更新时间:2023-12-03 03:20:09 26 4
gpt4 key购买 nike

我在一个 Excel 文件中有数百个公式。

我想编写一些 VBA 来搜索所有公式,并将一个单元格中定义的值替换为另一个单元格中先前值的公式部分。

例如单元格 B4 包含:

B4 = P5 2017

并且B5包含:

B5 = P6 2018

我希望它使用该值对包含任何文本的所有公式进行替换,其中包含 B4 中的先前值,例如:

[FileA P5 2017.xlsm]

并替换为 B5 中的值:

[FileA P6 2018.xlsm]

文件的命名始终以 FileA 开头,以 .xlsm 结尾。

我有以下VBA(可以工作),但它包含一个文字值:

Sub FileNameUpdate()
Cells.Replace What:="FileA P5 2018", Replacement:= _
"FileA P6 2018", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

我需要它来引用上述单元格,但无法让 VBA 工作,如下所示:

Sub FileNameUpdate()
Cells.Replace What:="FileA $B$4", Replacement:= _
"FileA $B$5", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

也尝试过这个:

Sub FileNameUpdate()
Cells.Replace What:="FileA " & B4 & ".xlsm", Replacement:= _
"FileA " & B5 & ".xlsm", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

最佳答案

尝试,

Sub FileNameUpdate()
Cells.Replace What:=Range("B4") & ".xlsm", Replacement:=Range("B5") & ".xlsm", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End Sub

关于vba - Excel VBA 搜索文件中的所有公式并用单元格值替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51210316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com