
こんにちは。
下記のようなマクロを作成したいのですが、どなたかお教えいただけますでしょうか。
①Sheet AのA1~F27のデータをコピー
②新しいシートを右側に挿入
③新しいシート名をSheet AのH2セルと同じにする("2016年5月"など)
④コピーした内容を貼り付け
毎月右側に新しいシートが追加されていくようにしたいです。
作業は月1です。H2セルの日付は作業したときの月になります。
例)Sheet A / 2016年5月 / 2016年6月 ・・・
初心者過ぎる質問で申し訳ないのですがよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
簡単ですが、こんなのでも動くと思います。
---------------------------------------------------------------------------------------
Sub Macro1()
Dim strSNM As String
strSNM = Worksheets("sheetA").Range("H2")
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = strSNM
Worksheets("sheetA").Range("A1:F27").Copy
Worksheets(strSNM).Range("A1").Select
ActiveSheet.Paste
End Sub
---------------------------------------------------------------------------------------
ただ気になるのは"sheetA"のセルH2に入力されている日付です。
実際に入力されている値は「2016/1/31」などとなっているのではないでしょうか?
シート名に「/(スラッシュ)」は使えないのでその場合は追加したシートに名前を付ける際エラーになってします。
No.2
- 回答日時:
こんばんは!
すでに回答は出ていますが、「A」SheetのH2セルにはシリアル値が入っているという前提です。
Sub Sample1()
Dim wS As Worksheet
Worksheets.Add After:=Worksheets(Worksheets.Count)
Set wS = Worksheets(Worksheets.Count)
With Worksheets("A") '←「A」は実際のSheet名に!
wS.Name = Format(.Range("H2"), "yyyy年m月")
.Range("A1:F27").Copy wS.Range("A1")
End With
End Sub
※ 元データのSheet名が「A」というコードにしていますので、
実際のSheet名にしてください。
※ 月に1度だけ実行するコードです。
2度以上実行するとすでに存在するSheet名にすることはできませんのでエラーになります。
(日付までをSheet名にするのであれば1日1度は可能です)m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
-
4
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
-
5
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
6
マクロで最終行を取得してコピーしたい
Visual Basic(VBA)
-
7
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
8
別のシートから値を取得するとき
Visual Basic(VBA)
-
9
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
10
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
VBAで文字列を数値に変換したい
Excel(エクセル)
-
13
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
14
エクセルのシート名変更で重複した時のvbaの処理
Visual Basic(VBA)
-
15
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
16
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
17
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
18
VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。
Visual Basic(VBA)
-
19
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
20
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで複数シートの選択セルを...
-
エクセルで条件に一致したセル...
-
Excelの「0」だけ非表示、小数...
-
Excelシートの保護時にデータの...
-
Excelでスクロールすると文字が...
-
エクセルで1月0日と表示される!!
-
iPhoneのExcelアプリで、別のシ...
-
EXCELのハイパーリンクのセルを...
-
ExcelでTODAY関数を更新させな...
-
日付が未入力の際はゼロか、空...
-
複数シートの同じセル内容を1シ...
-
エクセル マクロ ボタンを押...
-
エクセルで、加筆修正したセル...
-
ハイパーリンク で『指定された...
-
別シートのセルを絶対参照にする
-
エクセル ctrl+End いくら削...
-
エクセルで指定のセルのみ完全...
-
シート参照で変数を使いたい(EX...
-
エクセルで別シートからの最大...
-
【エクセル】シートを保護する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
マクロ 新しいシートにデータ...
-
エクセルで複写のように自動入...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
ハイパーリンク で『指定された...
-
エクセルで20万行あるシート...
-
エクセルで特定のセルの値を別...
-
INDIRECT(空白や()がある文字列...
おすすめ情報