2012-04-13 4 views
8

Excelワークブックは、多くのシートを持っており、そのうちのいくつかは、内部のマクロを持っている場合、私はマクロを持っているシートを判別することが分かってきた唯一の方法は、プロジェクトエクスプローラでそれらのそれぞれをクリックすることである(はCtrl + R VBAで)。Excelワークブックにどのシートにマクロがあるかを迅速に判別するにはどうすればよいですか?

これを行う方法は他にありますか?

答えて

3

あなたはシートをループすることができますし、次の構文を使用します。シートの名前であること

If ActiveWorkbook.VBProject.VBComponents(sheetName).CodeModule.CountOfLines <> 0 Then 

sheetNameを。

これ以上の高度な使用例については、pageを確認してください。

+0

Ummm、それは動作しません:)私のポストのリンクを参照してください –

+0

Ummm、私はちょうどそれをテストし、私のために働いています(コードがない場合、私は何か他のものを逃している? – assylias

+1

はい2点:) 1)自分の投稿で私の最後の編集を参照してください2) "変数宣言を要求する"がある場合、 "Option Explicit"を持つのでコードがなくても行数は常に0以上になります。上に。それは私のブログの記事ですべて説明されています。 –

11

私は最近MSDNで質問に回答し、最終的にはブログ記事を投稿しました。

トピック:http://www.siddharthrout.com/2012/04/12/check-if-an-excel-file-has-a-macro/あなたはその後、 "マクロを" 持っている "シート" をチェックする.VBComponents.Item(i).Type.VBComponents.Item(i).Nameを使用することができます

:Excelファイルは、マクロ

リンクを持っているかどうかをチェック。すべてのマクロを話す

EDIT

技術的には、コードの作品ですが、それはコードのすべての部分がマクロである必要はありません。だから、あなたがマクロをチェックしているのであれば、ブログ記事の第1部を見て、あなたがコードをチェックしているならば、ブログ記事の2番目の部分を見てください。

+0

+1 LOL、はい、私はrememebr投稿 –

+0

+1無敵の精度;) – assylias

+0

+1素敵な答えSid – brettdj

関連する問題