Vba Debug显示此代码将永远循环,但有';It’没有什么能让这种事发生
正如标题所说,出于某种原因,这段代码正在创建一个循环Vba Debug显示此代码将永远循环,但有';It’没有什么能让这种事发生,vba,excel,Vba,Excel,正如标题所说,出于某种原因,这段代码正在创建一个循环 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 r
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 " ", " "
出于某种原因,它还在其下方的数千行中添加了空格。我似乎无法理解这一点。欢迎任何建议。出于某种原因
If myCell.Value = UCase(myCell.Value) Then
myCell.Value = WorksheetFunction.Proper(myCell.Value)
End If
这是问题的根源。去掉这一点可以解决奇数无限循环。是的,For是一个循环。你的意思是循环永远不会结束吗?你试过一行一行地穿过吗?我认为这可能与您的
rng
有关。您可以放置一个中断并查看其填充的地址吗?您是从事件处理程序调用它吗?这些都是密码吗?我看不到rng1
的任何用途。与Comintern达成一致-现在这是所有代码的一种方式。范围有多大,如果范围大,代码将需要花费很长时间才能完成。@n我只是一步一步地走,即使有4行数据,它也会无限期地在范围内循环。