• ベストアンサー

VBAでマクロを消すコマンドがありますか

Sheet1に「コピー」ボタンを置き、クリックすると"Sheet1"のコピー"Sheet1 (2)"を作成するマクロを作成しました。 このあと、"Sheet1 (2)"にコピーされた全てのボタンとマクロを削除したいのですが、 ボタンの削除はうまくできましたがマクロが残ってしまいます。 これをやる目的は、Sheet1でいろいろ編集した帳票をReadOnlyの保存版を作って残したいということです。 ボタンが無くなるので"Sheet1 (2)"のマクロは使えなくなり、目的は達成しているのですが、できればごみとなった"Sheet1 (2)"のマクロを消したいのです。 VBAの記述内でマクロを消去することはできるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 もともと、セル全体をコピーすれば、マクロはコピーされません。 たぶん、シートそのものをコピーする、こんな内容なのでしょうか? Me.Copy After:=Sheets(ThisWorkbook.Worksheets.Count) 以下のようにすれば、表面だけをコピーするコードはコピーされません。 例: Private Sub CommandButton1_Click()  Me.Cells.Copy  Worksheets.Add after:=Sheets(ThisWorkbook.Worksheets.Count)  ActiveSheet.PasteSpecial xlPasteValuesAndNumberFormats '値と書式  ActiveSheet.Range("A1").Select End Sub それがいやらなら VBComponent.CodeModule.DeleteLines を使います。

catecholamine
質問者

お礼

すばらしい! おっしゃるとおりCopyメソッドを使っていましたが、 この方法だとコピースピードも早いし、申し分なしですね。 初めて見るコマンドもいろいろあって勉強になりました。 ありがとうございます。

その他の回答 (1)

回答No.1

こんにちは。 sheet(1)にマクロを記述するのではなく、標準moduleを追加して、そこにマクロを記述すれば、目的通りになりませんか?

catecholamine
質問者

お礼

さっそくのご回答、ありがとうございます。 できるだけ標準moduleにマクロを記述しているのですが、 event procedure など各シートに固有なマクロははずせませんでした。

関連するQ&A

  • VBA マクロのボタンの削除

    VBAでマクロを作成しボタンで動くようにしました、その後色々とマクロを編集してたら、このボタンが削除できなくなりました。 今はどのマクロに関連付けられているのかもよく分からないのですが、 このような場合はどのようにしたらよいのでしょうか 困っています、どなたか同じような経験をした人はいないですか、 よろしくお願いします。

  • マクロ(VBA)について

    会社のアルバイトスタッフの従業員名簿をマクロを用いたexcelで作成しています。 ボタンひとつで別シートの雇用契約書にデータが反映されるようになっています。(VBAで作成?しています。) 年度ごとに従業員名簿のファイルを作成しているのですが、新年度の従業員名簿ファイルの雇用契約書のシートに列を増やしたところ、昨年度の従業員名簿の雇用契約書シートもズレてしまいました。 従業員名簿を作成した人が退職してしまい、修正の仕方がまったくわかりません。 マクロを設定しているファイルをコピーすると、2つのコピーは連動されるのでしょうか? VBAがまったくわからず苦戦しております。 表現がわかりずらくて申し訳ありません。よろしくお願いします。

  • EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?

    VBAのマクロでシートのコピーをしたいのですが、元のシートにはVBAのコードが含まれています。コピーするのはデータだけのコピーが必要で、マクロ自体は必要ないのですが、それを削除するコードはどのように書いたらいいのでしょうか? どうしてもコピーしたファイルを開くと「マクロが含まれています」という確認メッセージが出てしまうのですが、それもなくしたいのです。 シートにフォームのボタンが配置されている場合も同様に、そのボタン自体をなくした状態でコピーを行いたいのですが・・・。プログラムで行うのは不可能なのでしょうか?

  • VBA マクロ保護

    VBA マクロ保護 VBAProject 保護はツールにて保護パスワード設定しています! 私が作ったもので、コマンドボタンをクリックしたら指定された フォルダにコピー(例;Sheet1のみコピー)できるようにしています! そこのコピーのフォルダを開き、ブックを開いてみると シート保護はされていますが コードの表示にパスワード設定がなく、そのまま見えてしまいます。 そこで質問なのですが コードの表示を見れなくさせるために VBA記述でコピーするときにVBAProjectにパスワード設定させたいです。 ちなみにVBAProject本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!

  • Excel コマンドボタンにマクロ設定!

    皆さんに色々教えて頂き、「コマンドボタンにマクロを設定→実行」まではなんとか出来るようになりました。^^ しかし。。。 (Windows XP) 「Sheet1」でコマンドボタンを作成し、マクロを設定 マクロ内容:「Sheet1」のコピー(「Sheet1」に作成した表の雛形を繰り返し使いたい為) マクロの設定を終え、ボタンを押すと「Sheet1」のコピーは作成されるのですが、 コピーされた全てのSheetに、コマンドボタンも一緒にコピーされてきます。(T_T) 1.マクロを設定したコマンドボタンは、最初のSheetにだけあればいいような気がするのですが、どうなのでしょうか? 2.どうすればコマンドボタンは張り付いてこなくなるのでしょうか? 宜しくお願いします。 P.S マクロ・コマンドボタンについてもあまり詳しくない為、質問の内容が分かりづらくてすみません。m(__)m

  • エクセルVBA初心者です。マクロを組んでください。

    エクセルVBA初心者です。組んで欲しいマクロがあります。 Sheet 1に13桁を入力するセル sheet 2に検索したいデータ 手順としては、 Sheet 1のセルにデータを入力 →13桁以上でマクロが開始(されるように設定します) →Sheet 1のセルと同じ数列をSheet 2の列Aから検索 →該当のセルを含む行をSheet 3にコピー →Sheet 1の入力セルの少し下にもコピー (確認用) というのを一回一回ずつやりたいです。 できれば作業中マウスやキーボードを触りたくないので、そのために、マクロの終わわりには入力セル内の消去、マクロの始まりには確認用でコピーした行の削除もつけて下さい。 検索するSheet 2には同じデータが含まれているので、出来ればひとつずつSheet 3にコピーしたいので組み込んで頂けると幸いです。 よろしくお願いいたします。

  • エクセル VBA

    エクセル VBA コマンドボタン(印刷)をクリックするとSHeet1・SHeet2が 2つ印刷出来るような設定にしたいです。 普通は、SHeet1をコピーして Sheet2の画面を開いてコピーという手順を ボタン押すと、SHeet1・SHeet2が印刷されるようにしたいのですが・・・・ ちなみに印刷設定は出来ています。 このような ことはマクロで出来るのでしょうか? 記述を教えて下さい!

  • VBAとマクロ

    お世話になります。田吾作7です。 ふと思ったのですが。。。 VBAとマクロの違いって何でしょう? 「マクロの記録」ボタンを押したのがマクロですか? VBAは、MS-Officeのモジュールにユーザ自身が書き込んだら、それはVBAですか? もしそうなら、[マクロの記録]ボタンはなぜ[VisualBasicツールバー]にボタンがあるのでしょうか。マクロを編集しやすくするためでしょうか? 記録で Range("A1").select それを編集で Range("A2").select としたらVBA? さらに最初っから Range("A2").select と記録したマクロは、やっぱりマクロ? VBAとマクロって違いあるのでしょうか? いつも疑問に感じて、モヤモヤしてます。 だれか、このモヤモヤ感を解消してください。 よろしくお願いします。 余談ですが・・・ VBAは[VB for Application]ですよね? Office関連のためのVBってことですよね。 でもAPIを使ってWINDOWSを制御することもできるから[for App]の意味が無いような気がする今日この頃・・・

  • 【Excel365】マクロを削除するマクロ

    特定のシート(仮にAとします)に添付画像のマクロ(別のマクロを実行するマクロ)を組み込んであります。 シートAをコピーしてシートBを作成し、値コピー・行削除などいろいろ編集した後にxlsxとして保存するという作業をしています。 しかし、シートBにも画像のマクロが組み込まれたままなので、1行目を削除するとマクロ「更新」が実行されてしまいます。 シートをコピーした後、画像のマクロを削除する方法はありませんか? 各Q&Aサイトをググるといろいろ出てきますが、理解できませんでした。 もしくは、シートAとそっくりなシート(ページレイアウトや書式もそのままでデータのみ値コピー)を作成するマクロの提示でも構いません。

  • VBAコマンドボタンに登録したマクロについて

    VBA初心者です。宜しくお願いします。 コマンドボタンにマクロを登録しているのですが、 急に使えなくなりました。 原因はウィンドウの固定をしてからのようなのですが、 解除後も状況はかわりません。 コマンドボタンの編集はできるがクリックできない感じです。 sheetを保護しても処理を実行できない?みたいです。 sheet1にコマンドボタンを配置し、 sheet2,sheet3に処理結果をだすプログラムです。 Sheetの保護やウィンドウの固定をしてもコマンドボタンを使う方法はありませんでしょうか? また、ユーザーフォームのテキストボックスに、 今日の日付を表示したいのですが、西暦を省き、 月/日 または 月/日/曜日 のように表示できる方法はないでしょうか? よろしくお願いいたします。

専門家に質問してみよう