お世話になります。
最近VBAの勉強を始めた初心者ですが、下記内容のマクロを作成したく、お力添えをお願いします。
内容
シート1A列2行目~A列不定行までセル値が入っている。
シート1A列2行目を、シート2A列1行目に値貼り付けする。
シート2をコピーし、新規シートを作成。その際新規シート名はA列1行目のセル値にする。
その後新規シート内の全セルをコピーし、同シート内に値貼り付けする。
上記作業をシート1A列のセルが空白になる迄繰り返す。
以上、わかりずらいかと思いますが、何卒よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
意図されていることに沿っているかが疑問ですが試しに作ってみました。
実際に動かしてみて修正が必要な箇所があるようでしたら補足下さい。
------------------------------------------------------------------------------
Sub a()
Dim dblROW As Double
Dim cnt As Double
'//----------------------------
'シート1の名前を指定
Const SNM1 = "Sheet1"
'シート2の名前を指定
Const SNM2 = "Sheet2"
'----------------------------//
'シート1のA列にデータが存在する行数を調べる
dblROW = 2
Do Until Len(Sheets(SNM1).Range("A" & dblROW)) = 0
dblROW = dblROW + 1
Loop
dblROW = dblROW - 1
'入力データが無い時は終了
If dblROW < 2 Then
Exit Sub
End If
For cnt = 2 To dblROW
'シート1のA列データをシート2に値貼り付け
Sheets(SNM1).Range("A" & cnt).Copy
Sheets(SNM2).Select
Sheets(SNM2).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues
'シート2を新規シートに値貼り付け
Sheets(SNM2).Copy after:=Sheets(Worksheets.Count)
'新規シートのシート名を付ける
Sheets(Worksheets.Count).Name = Sheets(SNM2).Range("A1")
'新規シートを値貼り付け
Sheets(Worksheets.Count).Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Sheets(Worksheets.Count).Range("A1").Select
Next
Sheets(SNM1).Select
Sheets(SNM1).Range("A1").Select
End Sub
------------------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルVBAでパスの¥マークに...
-
エクセルの複数シートの保護を...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
VBAで条件によりフォントサイズ...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
エクセルでファイル保存時に複...
-
シート名ではなく、相対位置で...
-
エクセルでシート名を自動入力...
-
前の(左隣の)シートを連続参...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで前のシートを連続参...
-
excelでシート毎の最終更新日を...
-
EXCEL VBAで別のシー...
-
複数シートの色付きセルがある...
-
Accessのスプレッドシートエク...
-
シートを追加・名前を次月に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
Excel 連番を入力する方法
-
エクセル 計算式も入っていない...
-
エクセルで前シートを参照して...
-
エクセルでシート名を自動入力...
-
Accessのスプレッドシートエク...
-
複数シートの特定の位置に連番...
-
エクセルのシート名をリスト化...
おすすめ情報