调试显示此代码将永远循环,但没有什么可以允许这种情况发生

时间:2016-12-16 22:56:12

标签: excel vba excel-vba

正如标题所说,这段代码由于某种原因正在创建一个循环。

Sub Title()

Application.ScreenUpdating = False
Dim rng As Range
Dim ws As Worksheet
Set ws = ActiveSheet
Dim myCell As Range
Dim rng1 As Range
Set rng1 = ws.Range(ws.Cells(2, 3), ws.Cells(ws.Rows.Count, 3).End(xlUp))
Set rng = ws.Range(ws.Cells(2, 2), ws.Cells(ws.Rows.Count, 2).End(xlUp))


Range("B:B").Style = "Normal"
Range("B1").Style = "Good"

For Each myCell In rng
    If myCell.Value = UCase(myCell.Value) Then
        myCell.Value = WorksheetFunction.Proper(myCell.Value)
    End If

    myCell.Value = " " & myCell.Value & " "

Next myCell

rng.Replace "  ", " "

出于某种原因,它还为下面的数千行添加了空格。我似乎无法想出这个。任何建议都很受欢迎。

1 个答案:

答案 0 :(得分:0)

出于某种原因,这个

If myCell.Value = UCase(myCell.Value) Then
         myCell.Value = WorksheetFunction.Proper(myCell.Value)
End If

是问题的根源。删除它可以解决奇数无限循环。