我的循环不会结束

1)我有我的FOR循环porblem。 我无穷无尽 。 这是我请求你帮忙的第一个问题。
2)第二个问题是我不知道如何在“If”中添加多个条件,
我的问题在代码中作为评论。

Sub Repurchase_upload() Dim Worksheet As Worksheets startrow = Worksheets("GUTS").Cells(10, 1) 'Here I denote 1 endrow = Worksheets("GUTS").Cells(11, 1) 'Here I denote 1000 For x = startrow To endrow If Cells(x, "A").Value <> "DU" Then 'I would like it to look like that: 'If Cells(x, "A").Value <> "DU" or "DR" or "EK" Then' but I don't know how to do this 'or' Cells(x, "A").EntireRow.ClearContents End If 'And here it won't end... Next End Sub 

多重条件很容易实现:

 For x = startrow To endrow If Cells(x, "A").Value <> "DU" Or Cells(x, "A").Value <> "DR" Or Cells(x, "A").Value <> "EK" Then Cells(x, "A").EntireRow.ClearContents End If Next x 

对于无限循环,我不知道,对我来说似乎很好…不是太简单了吗?
也许你应该在调用ClearContents一千次之前禁用屏幕更新,例如:

 Sub Repurchase_upload() Application.ScreenUpdating = False 'Disable screen updating Dim Worksheet As Worksheets startrow = Worksheets("GUTS").Cells(10, 1) 'Here I denote 1 endrow = Worksheets("GUTS").Cells(11, 1) 'Here I denote 1000 For x = startrow To endrow If Cells(x, "A").Value <> "DU" Or Cells(x, "A").Value <> "DR" Or Cells(x, "A").Value <> "EK" Then Cells(x, "A").EntireRow.ClearContents End If Next x Application.ScreenUpdating = True 'Re-enable screen updating End Sub 

执行多值testing的另一种方法是使用select语句,如下所示:

 Sub Repurchase_upload() Dim Worksheet As Worksheets startrow = Worksheets("GUTS").Cells(10, 1) 'Here I denote 1 endrow = Worksheets("GUTS").Cells(11, 1) 'Here I denote 1000 For x = startrow To endrow Select Case Cells(x, "A").Value Case "DU", "DR", "EK" 'Do nothing Case Else Cells(x, "A").EntireRow.ClearContents End Select Next End Sub