[英]I'm having trouble with a loop in VBA
我正在編寫代碼來搜索范圍內的每個單元格。 我想找到2個或更少字符的所有值(例如“12”“ab”),然后刪除這些單元格。 我有點工作,但VBA代碼運行速度非常慢,每次運行僅適用於1列。 因此它不會找到所有內容,只需在A列中找到它,然后代碼將結束而不會移動到B列。
到目前為止,這是我的代碼:
Sub test2()
Dim i As Integer
Dim j As Integer
For i = 1 To 524
For j = 1 To 12
If Len(Cells(i, j)) <= 2 Then
Cells(i, j).Delete Shift:=xlToLeft
End If
Next j
Next i
End Sub
考慮使用:
Sub test2()
Dim i As Integer
Dim j As Integer
Application.ScreenUpdating = False
For i = 1 To 524
For j = 12 To 1 Step -1
If Len(Cells(i, j)) <= 2 Then
Cells(i, j).Delete Shift:=xlToLeft
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
使用范圍,所以設置r=range("a1:l524)
然后for each cell in r
,然后執行相同的操作, if len(r.value)<=2 then cell.delete
定義要檢查的范圍,並為該范圍的每個單元格執行控制
Public Sub test2()
Dim cell As Range
For Each cell In Range("A1:X52")
If Len(cell) <= 2 Then
cell.Delete Shift:=xlToLeft
End If
Next
End Sub
它應該做的工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.