重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBA初心者なので教えてください。
シートの数を
シートの枚数 = ActiveWorkbook.Worksheets.Count
で数えていますが、ブックに表示されている数は12シートなのに
26となってしまいます。
プロジェクトエクスプローラーというのを開いてみると
シートが26個ありますが
コードが何も書かれていないシートを削除するにはどうしたらいいんでしょうか。
見えているシートのみにすれば
上の
シートの枚数も12になるのでしょうか…

教えてください!

A 回答 (2件)

恐らくシートが非表示になっているのですね。


こんな感じで。
http://www.relief.jp/itnote/archives/000474.php

であれば、下記を参考にしてください。
Sub Macro1()

Dim objSH As Worksheet ' 処理シート
Dim i As Integer

i = 0
For Each objSH In ActiveWorkbook.Worksheets
If objSH.Visible = xlSheetVisible Then
i = i + 1
End If
Next objSH

Debug.Print i

End Sub
    • good
    • 0
この回答へのお礼

教えていただいたとおり、シートが非表示になっていたようです。
シートも非表示にできるのですね。
勉強になりました。
すばやい解答でとても助かりました。
ありがとうございました。

お礼日時:2007/10/31 16:37

「見えていないシートを削除したい」と言うことですか?


それとも、「見えているシートだけカウントしたい」と言うことですか?

>コードが何も書かれていないシートを削除するにはどうしたらいいんでしょうか。

コード(何らかの文字)の有無と言う判断は、VBAでコードモジュールにアクセスしないと判断できません。

シートの削除だけなら数行のコードで削除可能です。
非表示になっているシートは本当に削除しても構わない物なのでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!