It won't hurt to try

[VBA]시트행지우기1 본문

VBA

[VBA]시트행지우기1

yongki.doki 2022. 8. 29. 21:38
Sub deleteButton_clicked()
    ' variable
    Dim sheet_name As String
    Dim search_start As String
    Dim remove_module As String
    Dim delete_flg As Boolean
    
    ' init
    search_start = "C3"
    delete_flg = False
 
    ' Exit sub
    If Range(search_start).Value = "" Then
        Exit Sub
    End If
    ' select cells
    Range(search_start, ActiveSheet.Range(search_start).End(xlDown)).Select
    
    ' delete sheet and get rows
    Set rMulti = Selection.Cells()
    For Each rCol In rMulti.Columns
        For Each rCell In rCol.Rows
            If "delete" = Range(rCell.Address).Value Then
                Application.DisplayAlerts = False
                Sheets(Range(rCell.Address).Offset(, 1).Value).Delete
                Application.DisplayAlerts = True
                remove_module = remove_module + "," + rCell.Address
                delete_flg = True
            ElseIf "update" = Range(rCell.Address).Value Then
                delete_flg = False
            ElseIf delete_flg Then
                remove_module = remove_module + "," + rCell.Address
            End If
        Next rCell
    Next rCol
    
    ' delete rows
    If "" <> remove_module Then
        remove_module = Right(remove_module, Len(remove_module) - 1)
        Range(remove_module).EntireRow.Delete
    End If
    MsgBox "Complete"
End Sub

준비

결과

300x250
300x250

'VBA' 카테고리의 다른 글

모든 시트의 표시형식을 바꾸기  (0) 2022.12.19
[VBA]시트행지우기2  (0) 2022.09.14
text join 함수  (0) 2020.10.30
다른 파일 시트에서 문자열 검색  (4) 2020.10.07
Comments