gpt4 book ai didi

VBA 替换 - 语法错误?

转载 作者:行者123 更新时间:2023-12-04 21:53:42 24 4
gpt4 key购买 nike

我正在尝试在 VBA 中执行替换功能。
显然我有一些语法问题,我是菜鸟。
我目前的做法:

Dim i As Integer

For i = 1 To 100

Rows("i:i").Select
Selection.Replace What:="i.xlsx", Replacement:="i+1.xlsx", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Next i

谁能帮我更正 i 的语法?另外,我想循环直到文件结束,而不是 100 行,我该怎么做?

感谢帮助

最佳答案

"i"是字符串文字;因此,它的值在整个循环执行期间是恒定的:它将始终为 "i" ,与 i 的值无关.

如果你想要变量 i作为搜索/替换字符串的一部分(例如 12.xlsx ),那么您需要连接其字符串表示形式; What:=i & ".xlsx"Replacement:=i + 1 & ".xlsx" .

避免非常脆弱 .Select教学也相当简单。使用您感兴趣的范围,而不是使用 Selection .

Rows("i:i").Replace ...

或者你的意思是 "i:i"也成为你的循环计数器?因为 Range("I:I")指向 I 列。如果您打算这样做 Rows("12:12")在第 12 次迭代中,您还需要在此处连接范围地址:
Rows(i & ":" & i).Replace ...

如果不是这种情况,那么您需要注意 @Jeeped's comment随着循环的进行,您的值的状态。

关于VBA 替换 - 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013556/

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