- ベストアンサー
別のシートの文字列を他のシートに移すには?
- エクセル VBAで別のシートの文字列を他のシートにコピーするにはどのようなコードを記入すればよろしいでしょうか?
- 同一ブック内に「Sheet1」と「リスト」のワークシートがある場合、次の順序でリストのデータを他のシートに貼り付けるにはどのようにコードを入力すればよろしいでしょうか?
- (1)2行目からのリストの使用行数を調べる。 ※リストの使用行数は変動するため、決まっていません。 (2)Sheet1は、32行しか入力できないため、(1)で求めたリストの行数からワークシートを必要数コピーする。 例 リストの行数が100の場合、Sheet1を3つコピーし、計4つにする。 (3)リストの図番(A列)、名称(C列)、金額(E列)をコピーし Sheet1のA,B,C列に「値」で貼り付ける。 (4)Sheet1のA,B,C列に32行貼り付け終わったら(2)でコピーした次のシートに続きのリストを貼る。 (5)リストの最後(文字が記入してある箇所)まで他のシートへのコピーが終わるまでワークシートを変えて続ける。以上です。よろしくお願い致します。エクセルは2003、2007使用しております。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
淡々と、シートを増やしてコピー貼り付けていくのが一番簡単です。 sub macro1() dim r as long for r = 2 to worksheets("リスト").range("A65536").end(xlup).row step 32 ’シートを増やす worksheets("Sheet1").copy after:=worksheets(worksheets.count) ’転記する range("A2:A33").value = worksheets("リスト").cells(r, "A").resize(32, 1).value range("B2:B33").value = worksheets("リスト").cells(r, "C").resize(32, 1).value range("C2:C33").value = worksheets("リスト").cells(r, "E").resize(32, 1).value next r end sub
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 標準モジュールにコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i As Long, ws As Worksheet Set ws = Worksheets("リスト") For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row Step 32 Worksheets.Add after:=Worksheets(Worksheets.Count) ws.Rows(1).Copy Destination:=Worksheets(Worksheets.Count).Cells(1, 1) ws.Cells(i, 1).Resize(32, 5).Copy Worksheets(Worksheets.Count).Cells(Rows.Count, 1).End(xlUp).Offset(1).Select Selection.PasteSpecial Paste:=xlValues With Worksheets(Worksheets.Count) .Columns(4).Delete .Columns(2).Delete End With Next i End Su ※ Sheet2は全く無視して、「リスト」Sheetの1行目を挿入Sheetにコピーしています。 参考になりますかね?m(_ _)m
お礼
回答ありがとうございます。 本を見ながら勉強させていただきました。
お礼
回答ありがとうございます。 勉強になりました。