如何查找以特定字母开头并删除该行的单词?

问题描述:

应该使用什么宏来查找以D开头的所有行并删除这些行。 现在我正在使用:(删除TOTAL以上的每个文本),这并不总是完美的工作。如何查找以特定字母开头并删除该行的单词?

Sub A2a_Deleterowsabove() 
Dim foundOne As Range 
On Error Resume Next 
With ActiveSheet 
    Set foundOne = .Range("A:A").Find(what:="TOTAL", After:=.Range("a1"), LookIn:=xlFormulas, _ 
           LookAt:=xlPart, SearchOrder:=xlByRows, _ 
           SearchDirection:=xlNext, MatchCase:=False) 
    If foundOne.Row > 1 Then 
     Range(.Range("e1"), foundOne.Offset(-1, 0)).EntireRow.delete shift:=xlUp 
    Else 

End If 
End With 
End Sub 

我想用这个的:

Sub Delete_Cells_with_D() 
Dim i As Integer 
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 
If Cells(i, 1) = "D* -" Then Cells(i, 1).EntireRow.Delete shift:=xlUp 
Next i 
End Sub 

我应该把什么在宏#2的突出部分,以表明该d后面的数字是未知的?

Excel example, and Macros #2

感谢您的帮助!

+1

'If Cells(i,1)like“D *”Then ...' –

Sub Delete_Cells_with_D() 

    Dim i As Integer 
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 
     If Left(Cells(i, 1), 1) = "D" Then Cells(i, 1).EntireRow.Delete shift:=xlUp 
    Next i 

End Sub 
+0

令人惊叹!而已!谢谢,托马斯。只是想知道你是否可以向我解释我的宏是否有问题?我注意到你把它改成了你能解释一下这意味着什么吗?是最后一个变量?谢谢! –

+0

Left函数返回字符串的最左边部分。第二个参数告诉它要返回多少个字符。 – 2016-07-14 16:40:49

+0

我认为我现在明白了。谢谢你向我解释,托马斯。所以(Cells(i,1),)意味着在单元格(i)中是整数D和1),1)整数之后有多少个字符空间?在1),1)部分 –