2016-07-14 2 views
1

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 

나는 이것을 사용하는 생각 : 나는 매크로 # 2의 강조 부분에 넣어해야합니까

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 

가 D 뒤에 숫자를 알 수없는 것을 나타 내기 위해서? 당신의 도움에 대한

Excel example, and Macros #2

감사합니다!

+1

'셀 (i, 1)이 "D *"Then Then ...'이면 –

답변

4
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

놀라워요! 그게 다야! 고마워, 토마스. 내 매크로에 대해 내가 잘못한 것을 설명 할 수 있는지 궁금한가요? 이게 무슨 뜻인지 설명해 주시겠습니까? 마지막 1 변수는 무엇입니까? 감사! –

+0

Left 함수는 문자열의 가장 왼쪽 부분을 반환합니다. 두 번째 매개 변수는 반환 할 문자 수를 알려줍니다. –

+0

오, 이제 알 것 같아요. 설명해 줘서 고마워, 토마스 그래서 (셀 (i, 1),) 셀 (i)의 정수 D와 1), 1)은 정수 다음에 오는 문자 공간의 수를 의미합니다. 1), 1) 부분에서 혼란스러워 짐 –

관련 문제