Sheet1に1行21列の空白を含むデータが複数あります。
U列のセルに「月」があった場合、その行を空白のSheet2に貼り付ける以下のコードを使用しています。
これをSheet2にすでに別データがある状態で、セルL11にデータを貼り付けられるようにコードを手直ししたいです。
、つまりSheet2のデータの中に割り込みでSheet1のデータを入れたいです。
イメージとしては、Sheet2のL列からAF列に21個の空の列を挿入して、セルL11から以下にデータが貼り付いた形にになれば良いです。
手直しで何とかなりそうでしょうか?お詳しい方宜しくお願いいたします。
Sub 貼り付け()
Dim a As Long
Dim b As Long
Dim c As Long
リスト= "Sheet1"
貼り付け= "Sheet2"
b = Worksheets(リスト).Cells(Rows().Count, "F").End(xlUp).Row
c = Worksheets(貼り付け).Cells(Rows().Count, "F").End(xlUp).Row
If c = 1 And Worksheets(貼り付け).Cells(1, "U") = "" Then
Else
c = c + 1
End If
For a = b To 1 Step -1
If InStr(Worksheets(リスト).Cells(a, "U"), "月") > 0 Then
Worksheets(リスト).Rows(a).Cut
Worksheets(貼り付け).Rows(c).Insert Shift:=xlDown
Worksheets(リスト).Rows(a).Delete Shift:=xlUp
c = c + 1
End If
Next a
End Sub
No.2ベストアンサー
- 回答日時:
ご質問中にある「Sheet2のL列からAF列に21個の空の列を挿入」はあらかじめ手作業でしておくと考えていましたが,ご質問者様の補足コメントに従って,L11からAF11の範囲を固定し,Sheet1のデータを代入した後,その下側と右側に同じセル範囲を挿入するように1行追加しました。
また,K列改めL列から代入するように修正しました。No.1と同様に
Worksheets(リスト).Rows(a).Cut
Worksheets(貼り付け).Rows(c).Insert Shift:=xlDown
Worksheets(リスト).Rows(a).Delete Shift:=xlUp
の3行を
Range(Worksheets(リスト).Cells(a,1),Worksheets(リスト).Cells(a,21)).Cut
Range(Worksheets(貼り付け).Cells(11,12),Worksheets(貼り付け).Cells(11,32)).Insert Shift:=xlDown
Range(Worksheets(貼り付け).Cells(11,12),Worksheets(貼り付け).Cells(11,32)).Insert Shift:=xlToRight
Range(Worksheets(リスト).Cells(a,1),Worksheets(リスト).Cells(a,21)).Delete Shift:=xlUp
に差し替えてお試しください。
No.1
- 回答日時:
Worksheets(リスト).Rows(a).Cut
Worksheets(貼り付け).Rows(c).Insert Shift:=xlDown
Worksheets(リスト).Rows(a).Delete Shift:=xlUp
の3行を
Range(Worksheets(リスト).Cells(a,1),Worksheets(リスト).Cells(a,21)).Cut
Range(Worksheets(貼り付け).Cells(c,11),Worksheets(貼り付け).Cells(c,32)).Insert Shift:=xlDown
Range(Worksheets(リスト).Cells(a,1),Worksheets(リスト).Cells(a,21)).Delete Shift:=xlUp
に修正してみてはいかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) 抽出結果を別シートに貼り付ける 2 2022/07/09 22:59
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい【ブック1からブック2へ】 9 2023/08/10 07:51
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
マクロ 最終列をコピーして最終...
-
【VBA】2つのシートの値を比較...
-
Cellsのかっこの中はどっちが行...
-
二つのリストを比べて部分一致...
-
【Excel VBA】 B列に特定の文字...
-
エクセル 2つの表の並べ替え
-
VBA 列が空白なら別のマクロへ...
-
VBAを使って検索したセルをコピ...
-
データグリッドビューの一番最...
-
VBA 何かしら文字が入っていたら
-
VBA カスタムオーダーのあと...
-
vbaでシートより100より大きい...
-
VBAのFind関数で結合セルを検索...
-
targetをA列のセルに限定するに...
-
特定のキーワードを含む行を別...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
マクロ 最終列をコピーして最終...
-
VBAを使って検索したセルをコピ...
-
データグリッドビューの一番最...
-
URLのリンク切れをマクロを使っ...
-
VBAのFind関数で結合セルを検索...
-
【VBA】2つのシートの値を比較...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
Excel(M365) Vlookup/セル反転(...
-
VBA指定行削除
-
VBAでのリスト不一致抽出について
-
C# dataGridViewの値だけクリア
-
Changeイベントでの複数セルの...
-
VBAで、特定の文字より後を削除...
-
rowsとcolsの意味
おすすめ情報
Sheet1のデータは貼り付きました!ありがとうございます。
しかし以下の問題が出ました。
L11ではなくK13に貼り付ついた。
L列からAF列に列が挿入されず既存の元データが右側ににシフトされなかった。
厚かましく恐縮ですが、もし解消できるのであればお願いいたします。