繁体   English   中英

VBA替换 - 语法错误?

[英]VBA replacement - syntax error?

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

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

任何人都可以帮我纠正我的语法吗? 而不是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 。如果您想在第12次迭代时执行Rows("12:12") ,那么您还需要在那里连接范围地址:

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

如果情况并非如此,那么随着循环的进行,你会想要注意@ Jeeped关于你的价值状态的评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM