
こんにちは。
下記のようなマクロを作成したいのですが、どなたかお教えいただけますでしょうか。
①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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
-
4
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
-
5
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
6
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
7
別のシートから値を取得するとき
Visual Basic(VBA)
-
8
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
VBAで文字列を数値に変換したい
Excel(エクセル)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
13
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
14
マクロで最終行を取得してコピーしたい
Visual Basic(VBA)
-
15
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
18
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
19
エクセルのシート名変更で重複した時のvbaの処理
Visual Basic(VBA)
-
20
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
エクセルで条件に一致したセル...
-
Excelの「0」だけ非表示、小数...
-
Excelでスクロールすると文字が...
-
エクセル ハイパーリンクで画像...
-
複数シートの同じセル内容を1シ...
-
Excelで複数シートの選択セルを...
-
EXCELのハイパーリンクのセルを...
-
エクセルで1月0日と表示される!!
-
エクセルで、加筆修正したセル...
-
エクセルで複写のように自動入...
-
AccessとExcelについて教えてく...
-
エクセルで特定のセルの値を別...
-
エクセルで文字を自動的に別シ...
-
Excelシートの保護時にデータの...
-
【エクセル】シートを保護する...
-
ワードからエクセルのシートに...
-
セルの値と同じ名前のシートを...
-
マクロ 新しいシートにデータ...
-
ExcelでTODAY関数を更新させな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
複数シートの同じセル内容を1シ...
-
ExcelでTODAY関数を更新させな...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
EXCELのハイパーリンクのセルを...
-
エクセルで20万行あるシート...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
Rangeメソッドは失敗しました。...
-
マクロ 新しいシートにデータ...
-
(Excel)あるセルに文字を入力...
-
エクセルで複写のように自動入...
-
EXCEL関数でシート名が変わる可...
-
エクセルで指定のセルのみ完全...
おすすめ情報