Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Sheets.Countプロパティの値がシート枚数と合わない?

Sheets.Countプロパティの値がシート枚数と合わない?

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2412(ビルド18305.20000クイック実行)ベータチャネル

「sheets.count 合わない」
「sheets.countプロパティ 違う」
といった検索キーワードで時折アクセスがあることに気づきました。

以下のコードで表示されるシートの枚数と、

MsgBox Sheets.Count

目で見て確認できるシートの枚数が違う・合わない状態になる原因を調べていた方による検索でしょう。

[スポンサードリンク]

シートの表示状態を確認するサンプルマクロ

まず確認していただきたいのは、シートの表示状態です。
非表示になっているシートがあれば、目視確認できるシート数と、Sheets.Countの戻り値は一致しなくなります。

目視確認できるシートの枚数と、Sheets.Countプロパティの戻り値が異なるブックをアクティブにして以下のマクロを実行してください。

Sub シートの表示状態を確認する()
 Dim i As Long
 For i = 1 To Sheets.Count
  Debug.Print _
    Sheets(i).Name & vbTab & _
    Sheets(i).Visible
 Next
End Sub

上記のマクロを実行すると、イミディエイトウィンドウに以下のような出力が行われます。

Sheet1  -1
Sheet2  -1
Sheet3  0
Sheet4  2

上記の結果は、合計4枚のシートが存在するけれど2枚しか表示されていないブックがアクティブな状態で実行したものです。

「Sheet1」「Sheet2」などがシート名で、その右に出力されている「-1」「0」「2」がシート表示状態を表す数値です。

-1が表示されていることを表し、0が非表示です。

厄介なのが2です。
2も非表示ですが、Excelを操作して再表示することのできない非表示状態です。
定数xlSheetVeryHiddenの直値です。

目視確認できるシート数とSheets.Countの値が合わないときに、非表示シートの存在は比較的気づきやすいのですが、xlSheetVeryHiddenはExcel操作では表示できないため、上記のようなコードを実行して調査する必要があります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Sheets.Countプロパティの値がシート枚数と合わない?

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.