Des*_*der 1 excel vba excel-2007 excel-vba
我有一些运行良好的代码,但我知道它可以编写得比我的清晰得多.
Sub DeleteField()
Range("A6").Select
Do
If ActiveCell.Value = "Actual Conveyable Cases" Or _
ActiveCell.Value = "Projected Non Con" Or _
ActiveCell.Value = "Actual Non Con Cases" Or _
ActiveCell.Value = "Projected CPT" Or _
ActiveCell.Value = "Actual CPT" Or _
ActiveCell.Value = "Projected Store Loads" Or _
ActiveCell.Value = "Actual Store Loads" Or _
ActiveCell.Value = "Projected Pull Ahead" Or _
ActiveCell.Value = "Actual Pull Ahead" Or _
ActiveCell.Value = "Projected Loads at 08:00" Or _
ActiveCell.Value = "Actual Loads at 08:00" Then
ActiveCell.EntireRow.Select
Selection.Delete
ActiveCell.Select
Else: ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell.Value = "" And ActiveCell.Offset(-5, 0).Value = ""
MsgBox "Done!"
End Sub
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来清理多个Or语句.有没有办法可以用数组或者某种方式来清理所有的"ActiveCell"段
您可以使用SELECT CASE
语句来清理它:
Select Case ActiveCell.Value
Case "Actual Conveyable Cases", "Projected Non Con", _
"Actual Non Con Cases", "Projected CPT", "etc..."
ActiveCell.EntireRow.Select
Selection.Delete
ActiveCell.Select
Case Else
ActiveCell.Offset(1, 0).Select
End Select
Run Code Online (Sandbox Code Playgroud)