No.3ベストアンサー
- 回答日時:
こんにちは。
基本的には、#1さんのマクロでよいはずです。
マクロでマクロコードを操作するのは、ウィルスライクになるので、それは、掲示板で、あまり書くのは好ましくありません。
以下のコードを、標準モジュールに以下を入れてください。
使い方は、マクロを実行すれば、新しいブックにマクロなしで、コピーされます。
一つないし、複数のシート(作業グループ)を選択したものをコピーしたい場合は、以下の行頭の(')コメントブロックを外します。
'Set sWh = ActiveWorkbook.Worksheets
''選んでコピー
Set sWh = ActiveWindow.SelectedSheets
ただし、以下の現在のマクロは、ワークシート以外のグラフシートは、コピーできません。多少、以下のマクロには、いろんなシートの形態が混じると、問題が出てくるとは思いますが、通常の使用ならトラブルはないと思います。
---------------------------------------------
Sub SheetsCopy()
Dim i As Integer
Dim j As Integer
Dim sh As Object
Dim sWh As Sheets
Dim msg As String
'すべてコピー
Set sWh = ActiveWorkbook.Worksheets
''選んでコピー
'Set sWh = ActiveWindow.SelectedSheets
With Workbooks.Add
If i > .Worksheets.Count Then
.Worksheets.Add After:=.Worksheets(.Worksheets.Count), _
Count:=i - .Worksheets.Count
End If
j = 1
For Each sh In sWh
If TypeName(sh) = "Worksheet" Then
sh.Cells.Copy .Sheets(j).Cells(1, 1)
Else
msg = msg & "," & sh.Name
End If
j = j + 1
Next sh
End With
If Len(msg) > 2 Then
MsgBox Mid(msg, 2) & " は現在のマクロではコピーできません。", 64
End If
End Sub
ありがとうございます!
うまくできました。
あとは教えて頂いた記述を理解していきたいと思います。
皆さんどうしてそんなに
わかるのでしょうか。
ありがとうございました。
No.2
- 回答日時:
手動で削除する場合は2つの作業が必要になります。
(1)マクロを解放する
EXCELを立ち上げてALT+F11を押下するとVBE(マクロを作成するツール)が立ち上がります。
VBEの画面の左のほうに標準モジュールというものがあります。
標準モジュールのすぐ近くに小さな+があると思いますので、それを押下します。いろいろな名前のモジュール(もしかしたらModule1だけかもしれません)が表示されると思いますので、
それぞれのモジュールを選択して右クリック→解放を選択します。
保存するか聞かれると思いますが、いいえを選択します。
すべてのモジュールの解放が終わったら(2)に進みます。
(2)ボタンを削除する
それぞれのシートに貼ってあるボタンを選択し、Deleteキーを押下します。
上記作業が終わったら、上書きではなく別の名前で保存をしてください。
ありがとうございます。
うまく伝えられなかったのですが
tossy05様が教えてくださったことの
コードが知りたかったのです。
しかしとても勉強になりました。
ご回答ありがとうございます。
No.1
- 回答日時:
マクロを消すマクロなんてのも考えられますが、エクセルのバージョンが上がってくると制約が厳しくなって難しい様です。
行番号と、列番号の交差する左上隅をクリックすると全セルが選択できますので、それをコピーして複写すると、当然ながらマクロは複写されません。但し、セル内に256文字以上の文字があると、切り捨てられてしまいます(XL2000の場合)
この方法でボタンを複写しないようにするには、ボタンに対して、「セルに合わせて移動やサイズ変更をしない」に設定しておくと良い様です。
マクロでやるなら、
Sub test
dim bk as workbook
Set bk = Workbooks.Add
Cells.Copy bk.Worksheets(1).Range("a1")
End Sub
といったところです。ご参考まで。
ありがとうございます。
私があまりにもマクロにつてわかっていない
ということが原因でもあるのですが
教えて頂いた記述をコピーしたところ
新しいブックができました。
教えて頂いた記述を
私が、必要な部分を書き換える
ということだったと思うのですが
あまりに無知でこれ以上できませんでした。
もう少し勉強していきたいです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
【Excel VBA】シートコピー時、マクロコードはコピーしたくない
Access(アクセス)
-
-
4
【ExcelVBA】指定の書式で、マクロなしブックとしてAlertなしで別名保存する方法
Visual Basic(VBA)
-
5
マクロでマクロを削除する
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
Excel VBA マクロ シートコピー
Visual Basic(VBA)
-
8
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
9
Excel:VBAブック保存時にマクロをはずずには
Excel(エクセル)
-
10
エクセルでエラーが出て困っています。
Excel(エクセル)
-
11
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
12
Excel 全シート上のボタンを削除 VBA
Excel(エクセル)
-
13
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
14
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
15
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
16
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
17
マクロの「SaveAs」でエラーが出るのを解消したいです
Visual Basic(VBA)
-
18
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
19
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
20
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
EXCELのセルへ、デジタル時計を...
-
エクセルで複数のシートをまと...
-
Excelのワークシート上に検索窓...
-
マクロ 実行ボタンを押さずに...
-
エラーになってないのにVBA...
-
Excel VBA のdebug(F8キー) が...
-
Excelを開いた時に表示さ...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
Excelマクロでオプションボタン...
-
マクロ ブックをマクロなしでコ...
-
GetAsyncKeyState(32) の動作が...
-
秀丸のマクロが動かない
-
ワードからエクセルへ貼り付け...
-
TeraTermのマクロについて
-
UWSCの簡単なキーマクロなので...
-
Wordの画面を左右にスクロール...
-
マクロボタンを作ってのマクロ...
-
Excelのマクロ ランタイムエラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードからエクセルへ貼り付け...
-
エクセルで複数のシートをまと...
-
エクセルのマクロ機能で前のシ...
-
エクセル グラフの軸の最小値最...
-
TeraTermのマクロについて
-
Excelの改ページ 同シート内で...
-
EXCEL 複数のシートの同一の位...
-
ワードで画像を自動で挿入する方法
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
Excel2000 データの並べ替えで...
-
Excelマクロでオプションボタン...
おすすめ情報