F列にナンバー
G列にナンバー
H列に都道府県
この状態で、3個飛ばしで転記をしたいのです。
下記のコードを作成しました。
Sub 転記()
Dim maxR As Long
Dim maxC As Long
maxR = Cells(Rows.Count, "F").End(xlUp).Row
maxC = Cells(7, Columns.Count).End(xlToLeft).Column
j = 8
For i = 8 To maxR
Range(Cells(j, "G"), Cells(j, maxC)).Copy Cells(i + 34, 7)
j = j + 3
Next i
End Sub
↓結果です。
2 青森県
5 秋田県
8 茨城県
11 埼玉県
14 神奈川県
17 石川県
20 長野県
23 愛知県
26 京都府
29 奈良県
32 島根県
8 茨城県
17 石川県
26 京都府
26 京都府
空白
8の茨城1
17の石川県
26の京都府
空白
26の京都府
3個飛ばしで転記はできましたが
下記の
空白
8の茨城1
17の石川県
26の京都府
空白
26の京都府
上記の余計なものが転記されます。
なぜこうなるのか分かりません。
お手数ですが、正しいコードをご教示いただけないでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
以下のコードで、空白行を除いて転記することができます。
Sub 転記()
Dim maxR As Long
Dim maxC As Long
Dim j As Long
Dim i As Long
scss
Copy code
maxR = Cells(Rows.Count, "F").End(xlUp).Row
maxC = Cells(7, Columns.Count).End(xlToLeft).Column
j = 8
For i = 8 To maxR Step 3
If Not IsEmpty(Cells(j, "F")) Then
Range(Cells(j, "G"), Cells(j, maxC)).Copy Cells(i + 34, 7)
End If
j = j + 3
Next i
End Sub
このコードでは、余計な空白行を取り除くために、Forループのステップに3を指定している行を取り出す前に、その行が空白かどうかをチェックしています。空白の場合はスキップし、空白でなければ転記を行うようにしています。
No.2
- 回答日時:
こんにちは
>上記の余計なものが転記されます。
>なぜこうなるのか分かりません。
以下は想像ですが・・・
一度転記してから、再度同じ処理を実行していませんか?
その場合は、最終行が53行目くらいまでになっていて、そこまでを3行おきにピックアップすることになります。
転記先を42行目からと固定にしているので、最終行を求めた際に41行目より大きければ、ダブって転記されることになると考えられます。
最終行を41行目以下になるように限定してあげれば良いのではないでしょうか?
あるいは、事前に42行目以降をクリアしておくなどでも宜しそうに思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 転職 長く続けられる好条件の求人でしょうか? 3 2023/07/12 18:45
- 地理学 どうして、北海道札幌市や茨城県水戸市などは都道府県と都道府県庁どちらも漢字で表記されているのに対し、 6 2022/07/03 12:21
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- 地震・津波 1週間で震度3以上が8回だそうです。注意したほうがいいですぴょん? 1 2022/05/08 19:30
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- その他(国内) 3時!夜中なのか早朝なのか微妙な時間、5時に出るならシャワー浴びてお茶淹れて神棚、仏壇 2 2022/05/20 03:58
- その他(宿泊・観光) 北海道札幌市 神奈川県横浜市 愛知県名古屋市 大阪府大阪市 京都府京都市 兵庫県神戸市 福岡県福岡市 3 2023/02/12 10:22
- その他(国内) 北海道札幌市 神奈川県横浜市 愛知県名古屋市 大阪府大阪市 京都府京都市 兵庫県神戸市 福岡県福岡市 2 2023/01/27 22:00
- 転職 下記のような募集は、良い会社でしょうか?どう思いますか?入ってみたら良くない事が無いでしょうか? 4 2023/03/03 16:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
rowsとcolsの意味
-
Worksheets メソッドは失敗しま...
-
VBAを使って検索したセルをコピ...
-
二つのリストを比べて部分一致...
-
C# Datagridview 行ヘッダーの...
-
vba 数値がゼロになるまで引く
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
空白セルをとばして転記
-
マクロ 最終列をコピーして最終...
-
VBAで散布図(グラフ)の作成
-
targetをA列のセルに限定するに...
-
【VBA】複数行あるカンマ区切り...
-
URLのリンク切れをマクロを使っ...
-
期限を超えた日付に警告のメッ...
-
文字列の結合を空白行まで実行
-
vbaでシートより100より大きい...
-
VBAで最新のデータを別シートに...
-
複数csvを横に追加していくマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
VBA指定行削除
-
VBAのFind関数で結合セルを検索...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
エクセルについて
-
【VBA】2つのシートの値を比較...
-
URLのリンク切れをマクロを使っ...
-
データグリッドビューの一番最...
-
Changeイベントでの複数セルの...
-
空白セルをとばして転記
-
rowsとcolsの意味
-
エクセルVBAにて =A1=B1とすれ...
おすすめ情報