CELLNETS Excel開発の専門会社

【VBA中級】*.xlsmブック内のVBAソースを削除して *.xlsx 形式で保存する方法

Excel開発のシーンでは、ベースとなるExcelマクロ形式のファイルの更新後、VBAソースの削除が必要となる場合があります。

Excel開発のシーンでは、ベースとなるExcelマクロ形式のファイルの更新後、VBAソースの削除が必要となる場合があります。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「VBAプログラムソース削除の方法」をテーマに、解説をしたいと思います。

◆どんな場面で、ソース削除する必要性があるのか

例えば、部門スタッフが共有している「在庫一覧表.xlsm」の更新後、現在庫情報を出荷担当者へExcel(*.xlsx)でメール添付で送付したい。

要望としては、外部のお客様には、純粋なExcel形式で送付したいケースが多いと思うので、その方法をご紹介します。

【注意】VBAプロジェクトオブジェクトモデルへのアクセスを信頼する(V)
マクロ実行環境のPCでは、以下の設定が必要になります。
規定値はチェックがありませんが、オンにしないと実行時エラーが発生するので、留意してください。

◆VBAソース削除用のModule


以下のModuleをCallします。

Option Explicit

‘★★★ 不要オブジェクト削除用~外部保存における活用
Public P_BufBookModule削除用 As Workbook
Public P_VB_CompoModule削除用 As Object

‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Sub M_VBAソース削除()
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
‘ツール>マクロ>セキュリティ>信頼できる発行元>Visual Basic プロジェクトへのアクセスを信頼するにチェック

   '★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    '★ 自分自身のSheetモジュール(プロシージャ)を削除
    '★ VBA「プロジェクトへのアクセスをすべて信頼する」ONが前提
    '★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

        Set P_BufBookModule削除用 = ActiveWorkbook  ' 対象シートをコピーした新規ブック

        '-----(↓VBProjectに対するアクセスが許可されていない場合はエラー
        '-----( VBProject内の各コンポーネントのコードを削除

        For Each P_VB_CompoModule削除用 In P_BufBookModule削除用.VBProject.VBComponents

            With P_VB_CompoModule削除用.CodeModule

                lngLines = .CountOfLines  ' コードを削除(全行)

                If lngLines <> 0 Then .DeleteLines 1, lngLines

            End With

        Next P_VB_CompoModule削除用

End Sub

これで、VBAソースが削除されるので、xlsx 形式の保存が可能になります。

今回のテーマは、「VBAプログラムソース削除の方法」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月5日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

Excelシステム開発

勤怠管理はエクセルで自動化できる|関数の限界とマクロ活用・事例まで解説

更新日:2026年9月5日

Excelシステム開発

顧客管理はエクセルで十分?管理表の作り方5ステップと「限界」の見極め方をプロが解説

更新日:2026年9月5日

Excelシステム開発

マニュアル作成をエクセルで行う手順5ステップ|見やすく作るコツと「自動化」という選択肢

更新日:2026年9月5日

Excelシステム開発

請求書をエクセルで作る方法|テンプレート・関数・インボイス対応まで解説

更新日:2026年9月5日

Excelシステム開発

エクセルでプルダウン連動・自動入力する方法|値の自動入力とリスト連動をわかりやすく解説

更新日:2026年9月5日

Excelシステム開発

棚卸表を自動計算するエクセルの作り方|コピペで使える関数も解説

更新日:2026年9月5日

Excelシステム開発

エクセルの自動計算とは?設定方法・されない原因・自動計算表の作り方まで完全解説

更新日:2026年9月5日

newsite