
No.3ベストアンサー
- 回答日時:
おはようございます。
コードをコードで弄るのはあまりお奨めできませんが、下記のコードを試してみてください。
Excel2000で動作確認済みです。
但し、必ずコピーを取ってからにしてくだされ。
Wendy02さんの話では2002以降はできないそうですのでその時は無視願います。
-----------------------------------------------
Sub CodeDelete()
Dim Obj As Object
For Each Obj In ThisWorkbook.VBProject.VBComponents
With Obj
If .Type = 100 Then
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
Application.VBE.activeVBProject.VBComponents.Remove Obj
End If
End With
Next Obj
End Sub
-----------------------------------------------
以上です。
お礼が大変遅くなったことをまずはお詫びします。
早速試してみました・・・完璧です。
エクセル関連のサイトを探していたものがなく
半ばあきらめていたのですが助かりましたm(_ _)m
No.7
- 回答日時:
またまたこんにちは。
訂正です。
NO.3の回答で
「2002以降はできないそうですのでその時は無視願います」
と書きましたが
2002以降で実行する時は
マクロ「セキュリティ」ダイアログで
「Visual Basic Projectへのアクセスを信頼する」にチェックを入れてから実行してみてください。
尚、実行後はセキュリティの為に元に戻しておいてください。
以上です。
----------------------------------------
to Wendy02さん
そういう意味でしたか。
Wendy02さんからのレスはつい裏に何か潜んでないかと・・・。(^^;;;
これからも宜しくお願いします。
No.6
- 回答日時:
taocat さん、言葉足らずにすみません。
m(__)m他のユーザーさんが使う時のために、念のため
>一応、[お書きになったコードは、]標準モジュール(.Type =1)に、設定[=貼り付け]……
ということで、書かせていただいた、だけです。
私は、VBAはやっと入門編を越えたレベルで、分からないことが一杯です。
レスが遅れたことをまずはお詫びします。
お二人のように「前向きな」応酬合戦大好きですw
もう一年ぐらいVBAの勉強はしてるんですがなかなか
上達せず「はぁ~」だったんですがこうゆう話ができる
くらい私も頑張ろうって気になりました。
ホントにありがとうございました。
No.5
- 回答日時:
to Wendy02さん
>私は書かないのに、余計なことを言って申し訳ありませんが、
何を仰いますやら、Wendy02さんみたいな経験豊富な方の意見はこちらからお願いして聞かせて頂きたいくらいです。どしどし忌憚のないご意見をお聞かせください。
>一瞬で終わってしまうものですが、このコードを動かしている最中に、何が起こるか分からないので、こういう内容の時は、
>Excelを、Application.Interactive =False で眠らしておいたほうがよいというように覚えましたが、どう思われますか?
一瞬で終わってしまう故に必要ないかと・・・。(^^;;;
余談ですが、「Excelを眠らせておく」、このフレーズは気に入りました。どこか専門家風の響きが・・・。メモメモ。(^^;;;
>.Type = 100、ということは、Not 100 ということですから、一応、標準モジュール(.Type =1)に、設定ということですね。
意味がちょっと分かりかねますが・・・。(^^;;;
-----------------------------------------------
序といっては何ですが、質問者もコードの内容が分からないと不安でしょうからちょっと説明をしておきます。
Type=100 は、ThisWorkBook, Sheetを表しています、
で、それらの場合は中のコードだけ削除。
それ以外、標準モジュール、UserForm等は丸ごと削除。
そんな感じです。
以上です。
No.4
- 回答日時:
taocatさん、こんにちは。
コード読ませていただきました。
私は書かないのに、余計なことを言って申し訳ありませんが、
コードを走らせると、一瞬で終わってしまうものですが、このコードを動かしている最中に、何が起こるか分からないので、こういう内容の時は、
Excelを、Application.Interactive =False で眠らしておいたほうがよいというように覚えましたが、どう思われますか?
ただし、Application.Interactive =True で戻さないと、Excelが入力できなくなります。
.Type = 100
ということは、Not 100 ということですから、一応、標準モジュール(.Type =1)に、設定ということですね。
No.2
- 回答日時:
Excel 2002以降は、VBAで、VBProject の操作が禁止されていたように思います。
そうでなければ、出来ます。また、送信用にしているブックにマクロを直接入れるよりも、アドインにしておいて、ブックを操作したほうが良いですね。

No.1
- 回答日時:
マクロを消すと考えると難しいですが,
全シートのデータをコピーして新しいファイルに保存する,または全シートのデータをコピーして新しいBookをメモリ上に作るマクロを作られたら解決すると思います。
ファイルの中からマクロを取るのではなく,シートのデータを新規ファイルに貼り付けるということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- Excel(エクセル) エクセルのマクロ設定 1 2023/04/05 19:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- その他(プログラミング・Web制作) UWLSの記録でマクロを作成し使用していますが起動中に他の作業ができません。バックグラウンドで使うこ 2 2022/05/20 11:04
- その他(Microsoft Office) エクセルのマクロについて教えてください。 1 2022/06/09 09:25
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
マクロでマクロを削除する
Excel(エクセル)
-
標準モジュールを削除したい。(VBA)
Access(アクセス)
-
-
4
EXCELマクロでのThisisWorkbookの削除をしたいです。
Visual Basic(VBA)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
【Excel VBA】シートコピー時、マクロコードはコピーしたくない
Access(アクセス)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
11
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
12
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
13
大量の標準モジュールを解放する方法
Visual Basic(VBA)
-
14
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
15
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
16
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
17
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
18
エクセルファイルを自身のファイルで削除する方法
Excel(エクセル)
-
19
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
20
【ExcelVBA】全シートのセルの数式を値に変換する事は可能でしょうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
マクロを消すマクロは不可能?
-
excelファイルに使われているVB...
-
マクロでマクロを削除する
-
エクセルファイルを自身のファ...
-
エクセル終了時の保存確認メッ...
-
外部データを取り込むマクロ
-
【マクロ】宣言は、何のために...
-
昨日まで動いていたエクセルの...
-
excelでpersonal.xlsを常に開く...
-
Excelマクロ ファイル名が変わ...
-
エクセルで、ハイパーリンクを...
-
マクロを設定したのに、拡張子...
-
excelが別プロセスで起動してし...
-
エクセルで右クリックすると変...
-
EXCEL マクロ クリップボードク...
-
エクセルマクロにてパワーポイ...
-
【マクロ】エラーが発生⇒実行時...
-
エクセルの関数を使って、セル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
エクセル終了時の保存確認メッ...
-
昨日まで動いていたエクセルの...
-
VBA マクロ実行時エラー’1004Ra...
-
excelファイルに使われているVB...
-
Excelが勝手にシート移動してし...
-
別のパソコンでエクセルのマク...
-
【マクロ】エラーが発生⇒実行時...
-
EXCEL マクロ クリップボードク...
-
マクロを消すマクロは不可能?
-
Excelマクロ ファイル名が変わ...
-
excelが別プロセスで起動してし...
-
アクセスでファイルを開いたと...
-
エクセル2013vbaで、見えない名...
-
エクセルファイルを自身のファ...
-
excelのマクロ実行でブロックさ...
-
エクセルマクロ実行中に別ファ...
-
マクロを設定したのに、拡張子...
-
マクロでマクロを削除する
おすすめ情報