

VBAのマクロでシートのコピーをしたいのですが、元のシートにはVBAのコードが含まれています。コピーするのはデータだけのコピーが必要で、マクロ自体は必要ないのですが、それを削除するコードはどのように書いたらいいのでしょうか?
どうしてもコピーしたファイルを開くと「マクロが含まれています」という確認メッセージが出てしまうのですが、それもなくしたいのです。
シートにフォームのボタンが配置されている場合も同様に、そのボタン自体をなくした状態でコピーを行いたいのですが・・・。プログラムで行うのは不可能なのでしょうか?
No.3ベストアンサー
- 回答日時:
No2です。
サンプルコードを書いてみました。
「オリジナル」という名前のシートを別ブックとしてコピペ保存します。
Sub サンプル()
Dim sc As Integer
sc = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
ThisWorkbook.Sheets("オリジナル").Cells.Copy 'コピー
Workbooks.Add 'ブック追加
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlValues '値貼り付け
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlFormats '書式貼り付け
Sheets("Sheet1").Name = "コピー"
Application.CutCopyMode = False
Application.SheetsInNewWorkbook = sc
ActiveWorkbook.Close
ThisWorkbook.Activate
End Sub
サンプルコードまでどうもありがとうございました!
すごーく助かりました。
今日の午後は仕事がここで止まっていたのですが、すっきりしました!!
No.2
- 回答日時:
エクセル2003以降はセキュリティの問題からVBAでVBAのモジュールをいじれなくなったと聞いています。
なので、現在は「シートの移動またはコピー」を使って複製しているのでしょうから、それを、新しいブックのワークシートにコピー&ペーストする方法に変えればいいと思います。単に数値や文字データだけであれば「値」貼り付けでボタン等も排除できます。数式や書式もコピペしたければ「数式貼り付け」と「書式貼り付け」でOKです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
【Excel VBA】シートコピー時、マクロコードはコピーしたくない
Access(アクセス)
-
マクロを消すマクロは不可能?
Excel(エクセル)
-
-
4
マクロでマクロを削除する
Excel(エクセル)
-
5
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
マクロ ブックをマクロなしでコピー
Access(アクセス)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
エクセルVBA シート上にあるコマンドボタンを削除するには?
Excel(エクセル)
-
13
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
14
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
15
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
16
マクロ 新しいシートにデータをコピペしてシートの名前を変更したい
Excel(エクセル)
-
17
Excelシート上のマクロを登録したボタンの削除が出来ません
Excel(エクセル)
-
18
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
19
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
Excelの行をコピーして貼り付け...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
アクセスの画面をプリントスク...
-
エクセルシートを別のエクセル...
-
エクセルのページをシートごと...
-
PDFファイルをコピーしてエクセ...
-
エクセルでシートを「移動また...
-
シートをたくさんコピーするに...
-
エクセル関数組み込みデーター...
-
エクセルのワークシートをUSBメ...
-
VBAで任意のファイルを読み出し...
-
エクセルの1シートの内容を複...
-
Excel 数式の保護をしたセルを...
-
ExcelVBAで、ユーザーフォーム...
-
EXCEL2007でシートをコピーする...
-
エクセルVBA 1行飛ばしで転記す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの行をコピーして貼り付け...
-
Excel 関数を使ってデータと一...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
【エクセル】プルダウン設定の...
-
エクセルでシートを「移動また...
-
ExcelVBAで、ユーザーフォーム...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
EXCEL2007でシートをコピーする...
-
PDFファイルをコピーしてエクセ...
-
CSVファイルについて質問です。
-
ページの設定を別シートにコピ...
-
エクセルシートを別のエクセル...
-
Excel シートのコピーの際、ペ...
-
【VBA】コピー&複数個所のペー...
-
VBA シートをコピー後、ボタン...
-
EXCEL VBA シートをコピーする...
-
エクセルVBA 1行飛ばしで転記す...
おすすめ情報