• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空白セルをとばして転記)

Excel VBAで空白セルをとばして転記する方法

このQ&Aのポイント
  • Excel VBAのコードを使用して、空白のセルをとばしてデータを転記する方法について紹介します。
  • 指定した範囲のデータを取得し、空白のセルを飛ばしながら他のセルに転記する方法を解説します。
  • 特定の列の範囲を取得し、空白セルをスキップして他のセルにデータを転記するExcel VBAのコードを紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nao-y
  • ベストアンサー率58% (111/190)
回答No.1

nはA列用のカウンタですよね? D列用のカウンタを準備すればOKです。 具体的には Sub test() Dim n As Long Dim k As Long Dim l As Long k = Range("A" & Rows.Count).End(xlUp).Row l = 1 For n = 1 To k If Cells(n, 1) <> "" Then Cells(l, 4) = Cells(n, 1) l = l + 1 End If Next n End Sub となります。 (n=n+1はfor文の中なので不要ですね)

dori46
質問者

お礼

おお!ありがとうございます! 思うとおりに動きました! 変数をもう一つ置くという事は思いついてはいたのですが、 For NextとIfの文脈でどう処理していくかが分からなかったので、 目からうろこです。 早速のご回答大変助かりました。ありがとうございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 Sub sample() Dim i As Long, n As Long For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If Cells(i, "A") <> "" Then n = n + 1 Cells(n, "D") = Cells(i, "A") End If Next End Sub

dori46
質問者

お礼

ご回答ありがとうございます! 思い通りになりました やはりD列用の変数を用意するのですね Forの宣言部分で範囲を指定出来るというのは新発見です いくら頭をひねっても出てこなかった答えが何通りもあるという 事で自分の未熟さが恥ずかしい限りです とても勉強になりました。ありがとうございました

関連するQ&A