行挿入+貼付けと空白行削除を同時に行うには?
VBA初心者です。
仕事でエクセルを使っていますが、
no 工程1 工程2 工程3
1 A B C
2 B _ A
3 C A _
4 _ C A
という表を
no 工程
1 A
B
C
2 B
A
3 C
A
4 C
というように並び替えたいのですが、
現在は各番号ごとに3行挿入して工程をコピー、行と列を入れ替えて貼付けをしています。
これだと
no 工程
1 A
B
C
2 B
A
3 C
A
4
C
A
のように空白行ができてしまいます。これをもう一度、マクロで消しているのですが、
データ量が多いため、行挿入と空白行を消す作業を同時に行わないとシート最大行数である
65536行を超えてしまう可能性があります。
同時にやるにはどのようにすればよいのでしょうか?
よろしくおねがいします。
No.1
- 回答日時:
>データ量が多いため、行挿入と空白行を消す作業を同時に行わないとシート最大行数である
65536行を超えてしまう可能性があります。
同じシートで処理するのではなくて、別シートにコピぺしてやれば
少なくとも空白行を挿入したりのコードは不要になるので
現在のコードをちょこっと修正するだけですむのでは?
以上です。
この回答への補足
おっしゃるとおりに現在はやっているのですが、
かなりの行をコピペするのがめんどくさいのと
ミスが怖いのでできるなら一発でやりたいなと思っています。
まあできなさそうならあきらめるしかないのですが。
No.2ベストアンサー
- 回答日時:
参考にしてください。
配列に入れて一度に書き出します。
サンプルでは、F列G列へ
Sub test()
Dim varArray(1 To 65536, 1 To 2)
varArray(1, 1) = "no"
varArray(1, 2) = "工程"
Dim i As Long, r As Long, c As Long
i = 2
For r = 2 To Range("A65536").End(xlUp).Row
varArray(i, 1) = Cells(r, 1)
For c = 2 To 4
If Cells(r, c) <> "" Then
varArray(i, 2) = Cells(r, c)
i = i + 1
End If
Next c
Next r
Range("F1:G65536") = varArray
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) Excelの相談 4 2023/03/03 09:51
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
Excel VBAでオートフィルタで抽...
-
Access2003レポート:最終ペー...
-
列から特定の文字列検索→該当以...
-
マクロにて指定の文字間の文字...
-
VBAでの重複データに色付け
-
マクロで最終行を取得してコピ...
-
EXCEL2007マクロ/オートフィル...
-
EXCEL VBAでA列にある空白行よ...
-
【VBA】条件に一致しない行を削...
-
【VBA】条件に一致しない行を削...
-
VBA 複数列コンボボックス 値の...
-
excel2021で実行できないマクロ...
-
エクセルのデータがない行には...
-
Excel VBAで列を行に変換するには
-
エクセルで階層図を作る方法
-
VB.net
-
【VBA】指定月のオートフィルタ...
-
Excel マクロ 検索結果を別シ...
-
VBAで入力の結果を他のセルに反...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
数値に見えるものはすべて数値...
-
エクセルのデータがない行には...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
【VBA】条件に一致しない行を削...
-
エクセルのVBAで指定した行数の...
-
VB.net
-
Excel VBAでオートフィルタで抽...
-
マクロにて指定の文字間の文字...
-
Excel97 指定した行だけマク...
-
EXCEL VBAでA列にある空白行よ...
-
excel2021で実行できないマクロ...
-
Excel 別ブックから該当データ...
-
VBAでの重複データに色付け
-
Excel VBA オートフィルタの結...
-
エクセルで階層図を作る方法
-
VBAで特定の行と一つ上の行を削...
-
【至急】Excel 同一人物の情報...
-
Excelで、マウスで範囲を選択し...
おすすめ情報