一番上の入り口へ > excel > VBA コーディングライブラリ集 > 対話形式でシートをどんどん消していくマクロ

対話形式でシートをどんどん消していくマクロ

今開いているブック(ファイル)のすべてのシートについて 消してよいか 確認しながら消します。 下の例では シートの名が 表紙や 目次だったら スキップします。 また、ある範囲の セルの 空白が一定以下なら 、そのまま残して 削除処理をスキップします。
Sub deleteEachSheetsWithAsk()
    Dim row As Integer, column As Integer
    Dim flag As Boolean
    Dim ws As Worksheet
    
    Dim blankNum As Integer
    
    For Each ws In ActiveWorkbook.Worksheets
        ws.Activate
        Cells(1, 1).Activate
        
        If ws.Name = "表紙" Or ws.Name = "目次"  Then
        
        Else
            blankNum = 0
            For r = 3 To 5
                For c = 2 To 5
                    If Cells(r, c).value = "" Or IsNull(Cells(r, c).value) Then
                        blankNum = blankNum + 1
                    End If
                Next
            Next
            
            If blankNum < 5 Then
            Else
                If MsgBox("delete " & vbCrLf & ws.Name & vbCrLf & blankNum, vbYesNo) = vbYes Then
                    ws.Delete
                    'MsgBox "deleted!!"
                End If
            End If
        
        End If
    Next ws
End Sub



類似リンク

VBA マクロライブラリ集