
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ランキング
-
vba 2つの条件が一致したら...
-
難問 VBA 今日の日付より前に対...
-
rowsとcolsの意味
-
VBAで10行おきにセルの下に罫線...
-
VBAの初心者なのですが、「並び...
-
VBA初心者です 検索した数字の...
-
Excel VBA 足し算の問題を自動...
-
VBAのFind関数で結合セルを検索...
-
Excel-VBAで連番を振るマクロを...
-
VBAのコードを教えてください
-
DataGridViewに空白がある場合...
-
VBA 数値のみ取り出す
-
VBA 何かしら文字が入っていたら
-
複数の列の値を結合して別の列...
-
Worksheets メソッドは失敗しま...
-
VBA 列が空白なら別のマクロへ...
-
重複データの合算(VBA)
-
【VBA】2つのシートの値を比較...
-
離れたセルを比較
-
【Excel VBA】 B列に特定の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
Cellsのかっこの中はどっちが行...
-
【VBA】2つのシートの値を比較...
-
VBAのFind関数で結合セルを検索...
-
URLのリンク切れをマクロを使っ...
-
文字列の結合を空白行まで実行
-
VBA 何かしら文字が入っていたら
-
VBAを使って検索したセルをコピ...
-
【Excel VBA】 B列に特定の文字...
-
VBAで指定範囲内の空白セルを左...
-
Changeイベントでの複数セルの...
-
VBAで、離れた複数の列に対して...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
rowsとcolsの意味
-
DataGridViewに空白がある場合...
おすすめ情報