
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
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
5
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
6
VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保
その他(Microsoft Office)
-
7
【ExcelVBA】指定の書式で、マクロなしブックとしてAlertなしで別名保存する方法
Visual Basic(VBA)
-
8
セルの値と同じ名前のシートをアクティブにするには?
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
保存ブックを開かずコピーペーストするマクロ作成について
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
Excel VBA マクロ シートコピー
Visual Basic(VBA)
-
13
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
14
Excel VBA の印刷後の判定
Excel(エクセル)
-
15
EXCEL VBA シートをコピーする時にエラーが発生してしまう件
Excel(エクセル)
-
16
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
17
マクロを消すマクロは不可能?
Excel(エクセル)
-
18
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
19
マクロでマクロを削除する
Excel(エクセル)
-
20
VBA EXCEL 開かずにデータ操作
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
エラーになってないのにVBA...
-
EXCELのセルへ、デジタル時計を...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
ワードからエクセルへ貼り付け...
-
【Excel VBA】エラー番号400
-
Accessのクエリを実行するショ...
-
モジュール内のマクロを全て実...
-
Excelを開いた時に表示さ...
-
EXCEL2000 VBA マクロ実行中に...
-
ワードで画像を自動で挿入する方法
-
GetAsyncKeyState(32) の動作が...
-
エクセルのマクロ機能で前のシ...
-
TeraTermのマクロについて
-
マクロ ブックをマクロなしでコ...
-
エクセルに画像を貼付け縮小す...
-
Wordの画面を左右にスクロール...
-
VBAでEXCELに埋め込んだPDFを開...
-
複数ファイルにある特定のシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
エクセルのマクロ機能で前のシ...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
Wordの画面を左右にスクロール...
-
ワードからエクセルへ貼り付け...
-
モジュール内のマクロを全て実...
-
エクセルで複数のシートをまと...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelマクロでオプションボタン...
-
【Excel VBA】エラー番号400
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロボタンをある条件の時に...
-
Accessのクエリを実行するショ...
-
Excelの改ページ 同シート内で...
おすすめ情報