大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、テーブルの存在をチェックするには、「.ListObjects.Count」を使って、テーブルの数をカウントして、「0より多いか」を判定するとできます。複数シートでチェックしたい場合は、「For Each」でループします。VBAでのテーブル操作をマスターしていきましょう。

はじめに

この記事では、テーブルの存在をチェックする方法について、ご紹介します。

テーブルの存在をチェックするには、「テーブルの数が0より多い」かを判定するとできます。

テーブルの数は、「.ListObjects.Count」でできます。

複数シートで、テーブルの存在をチェックしたい場合は、「For Each」を使ってループして、テーブルの存在をチェックするとできます。

VBAでのテーブル操作をマスターしていきましょう。

では、テーブルの存在をチェックする方法について、解説していきます。

この記事を読むメリット

  • テーブルの存在をチェックすることができます。

目次から見たい項目へ移動すると便利ですよ。

目次

シート内のテーブルの存在をチェックをする

シート内のテーブルの存在をチェックをしてみます。

「ListObjects.Count」を使う

「ListObjects.Count」を使うと、テーブルの数をカウントすることができます。

Sub TEST1()
    
    'テーブルの数をカウント
    Debug.Print ActiveSheet.ListObjects.Count
    
End Sub

では、実行してみます。

「2」個のテーブルでカウント

「2」個のテーブルでカウントしてみます。

テーブル数をカウントしてみます

実行すると、テーブルの数は、「2」となります。

テーブルの数は、「2」となりました

テーブルの数は、「2」となりました。

テーブルがない場合でカウント

次は、テーブルがない場合で、テーブル数をカウントしてみます。

テーブルがない場合で、テーブル数をカウントしてみます

実行すると、テーブルの数は、「0」となります。

テーブルの数は、「0」となりました

テーブルの数は、「0」となりました。

テーブルの存在をチェックする

テーブルの存在をチェックするには、テーブルの数が「0より多いか」を判定します。

Sub TEST2()
    
    'テーブルが存在する場合
    If ActiveSheet.ListObjects.Count > 0 Then
        Debug.Print "テーブルは存在します"
    'テーブルが存在しない場合
    Else
        Debug.Print "テーブルは存在しません"
    End If
    
End Sub

では、実行してみます。

テーブルの存在をチェック

テーブルが存在する場合で、テーブルの存在をチェックしてみます。

テーブルの存在をチェックしてみます

実行してみます。

テーブルは存在をチェックできました

「テーブルは存在します」となりました。

正しく、テーブルの存在をチェックできました。

テーブルがない場合でチェック

次は、テーブルがない場合で、テーブルの存在をチェックしてみます。

テーブルがない場合で、テーブルの存在をチェックしてみます

実行してみます。

テーブルの存在をチェックできました

今度は、「テーブルは存在しません」となりました。

正しく、テーブルの存在をチェックできています。

すべてのシートでテーブルの存在チェック

すべてのシートでテーブルの存在チェックしてみます。

「For Each」と「ListObjects.Count」を使う

複数シートで、テーブルの存在をチェックしたい場合は、「ForEach」と「ListObjects.Count」を使います。

Sub TEST3()
    
    Dim A
    'すべてのシートをループ
    For Each A In Worksheets
        'テーブルの数をカウント
        Debug.Print A.Name & ":" & A.ListObjects.Count
    Next
    
End Sub

複数シートのテーブルの数をカウントしてみます。

複数シートのテーブルでカウント

複数シートのテーブルの数をカウントしてみます

実行すると、複数シートのテーブルの数をカウントできます。

複数シートのテーブルでカウントできた

複数シートのテーブルの数をカウントできました

複数シートのテーブルの数をカウントできました。

すべてのシートでテーブルの存在をチェック

次は、すべてのシートでテーブルの存在をチェックしてみます。

Sub TEST4()
    
    Dim A
    'すべてのシートをループ
    For Each A In Worksheets
        'テーブルが存在する場合
        If A.ListObjects.Count > 0 Then
            Debug.Print A.Name & ":存在します"
        'テーブルが存在しない場合
        Else
            Debug.Print A.Name & ":存在しません"
        End If
    Next
    
End Sub

複数シートのテーブルの存在チェックしてみます。

複数シートでテーブルの存在チェック

複数シートのテーブルの存在チェックしてみます

実行すると、複数シートのテーブルの存在チェックができます。

複数シートでテーブルの存在チェックができた

複数シートのテーブルの存在チェックができました

複数シートのテーブルの存在チェックができました。

おわりに

この記事では、テーブルの存在をチェックする方法について、ご紹介しました。

テーブルの存在をチェックするには、「テーブルの数が0より多い」かを判定するとできます。

テーブルの数は、「.ListObjects.Count」でできます。

複数シートで、テーブルの存在をチェックしたい場合は、「For Each」を使ってループして、テーブルの存在をチェックするとできます。

VBAでのテーブル操作をマスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す