VBA初心者でExel2010を使用してます。
下記条件でご教示願います。
1つのブックの中に複数シートがあり、ActiveXコントロールのオプションボタンにて選択された
シートだけを新しいブックにコピーし、名前を付けて保存したいです。
・コピーは値と数値の書式のみ貼り付け
・新しいブックはマクロ無し
・シート名は”A””B””C””D””E””F””G”
・オプションボタン名はシートAが”OPTION BUTTON1”~シートGが”OPTION BUTTON7”
以上、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
標準モジュールに最下のVBAコードを貼り付けてください。
A~Gのオプションボタンで対象シートを選択した後に、
マクロ「選択保存」を実行してください。
対象シートを新規ブックへコピーし、名前を付けて保存窓を表示します。
(コピー時に保存するブックのオプションボタンは削除しています)
■VBAコード
Sub 選択保存()
Dim flag As Integer
For i = 1 To 7
If Worksheets(i).OLEObjects("OptionButton" & i).Object.Value Then
Sheets(i).Copy
ActiveSheet.OLEObjects("OptionButton" & i).Delete
Application.Dialogs(xlDialogSaveAs).Show
Exit For
End If
Next i
End Sub
No.1
- 回答日時:
Sub OPTIONBUTTON_CLICK()
Dim myWorkbook As String
Dim newWorkBook As String
Dim myWorkActiveSheet As String
myWorkActiveSheet = ActiveSheet.Name 'コピーするシート名
myWorkbook = ThisWorkbook.Name '現在のブック名
Workbooks(myWorkbook).Activate '現在のブックを表示する
With Workbooks(myWorkbook).Worksheets(myWorkActiveSheet)
ThisWorkbook.Worksheets(myWorkActiveSheet).Copy'現在のシートをコピーする
End With
End Sub
プログラム的には少し拙い部分があるかもしれませんが、
一応これで動くかと思います。
名前を付けてブックを保存し、閉じるところまで行いたい場合は、
With の間に
ActiveWorkbook.Close SaveChanges:=True, _
FileName:="backup.xls"'←ファイル名
と入れるのがいいかもしれません。
(InputBoxで文字入力を促し、
文字が入れられたらFilenameをそれに…すれば良いのかと。
そこは考えてみてください。
標準モジュールに追加した後、
各シートのボタンを右クリックし、マクロの登録を選択。
OPTIONBUTTON_CLICK をできるように押してください。
ただ、コピーされた後のボタンは機能しませんが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
フォルダ内の複数ファイルから...
-
Excel(2010)のフィルターが保...
-
エクセルで参照しているデータ...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
指定ファィルの指定シートをシ...
-
エクセルの関数について教えて...
-
エクセルシートの一部を送りたい
-
エクセルで開いていないbookの...
-
外部ブック参照が#REF!になって...
-
フォルダ内の複数ブック・シー...
-
【困っています】VBA 追加処理...
-
別ブックから入力規則でリスト...
-
エクセルで複数のシートを別フ...
-
エクセル 複数のブックを一度...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
Excelで複数ブックの同一セルに...
-
VBA バックグラウンドで別ブッ...
-
エクセルで50行ごとに区切った...
-
エクセルで「ディスクがいっぱ...
-
エクセルにおける,「ブック」...
-
エクセルファイルを開かずにpdf...
-
フォルダ内の複数ファイルから...
-
ブックのピボットを別ブックに...
-
エクセルシートの一部を送りたい
-
エクセル2016です。「ブッ...
-
エクセルで別ブックをバックグ...
-
フォルダ内の複数ファイルから...
-
複数ファイルから特定シートの...
おすすめ情報