【问题标题】:My vba code does not seem to work, even though there are no errors我的 vba 代码似乎不起作用,即使没有错误
【发布时间】:2018-06-08 23:07:36
【问题描述】:

我正在尝试遍历指定范围内的所有单元格并替换单元格中函数的两个不同部分。

但是,代码似乎可以运行,当我放一个 msgbox LastCol 时,它会返回该行中的最后一个单元格,但函数不会改变。

代码:

Sub Function1()

 Dim LastCol As Integer
 Dim i As Integer

    Application.ScreenUpdating = False
     Application.DisplayAlerts = False
    With ActiveSheet
        LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column


    For i = 1 To LastCol

     ActiveWorkbook.Sheets("Data").Range("D3" & i).Replace "4. Apr", "5. May", xlPart
     ActiveWorkbook.Sheets("Data").Range("D3" & i).Replace "April", "May", xlPart


    Next i


End With

Application.ScreenUpdating = True
 Application.DisplayAlerts = True

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    如果 i 为 1,则 Range("D3" & i) 指的是 D31。试试吧,

     with ActiveWorkbook.Sheets("Data")
         .Range(.cells(3, "D"), .cells(3, LastCol)).Replace What:="4. Apr", replacement:="5. May", LookAt:=xlPart, MatchCase:=false
         .Range(.cells(3, "D"), .cells(3, LastCol)).Replace What:="April", replacement:="May", LookAt:=xlPart, MatchCase:=false
     end with
    

    tbh,你的“指定范围”是什么意思完全不清楚。

    【讨论】:

    • 哇,谢谢!这就像魔术一样!哈哈,非常感谢,现在可以正常工作了。
    猜你喜欢
    • 2021-06-06
    • 2019-08-06
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多