• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロ)

エクセルのマクロで複数列のデータを結合する方法

このQ&Aのポイント
  • エクセルのマクロを使用して、複数の列にあるデータを結合する方法を教えてください。
  • 指定した規則に従って、A列とB列のデータを合わせてC列に表示するマクロを作成する方法について教えてください。
  • エクセルのマクロを使って、A列とB列のデータを結合した結果をC列に表示する方法を教えてください。

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

こんな感じでどうでしょうか。 Sub test() Dim Rng As Range Dim RngB As Range Dim B As Range Dim Rw As Long Dim N As Long Set RngB = Range("B1", Range("B65536").End(xlUp)) Rw = 1 For Each Rng In Range("A1", Range("A65536").End(xlUp))   If IsNumeric(Rng) Then     Range("C" & Rw) = Rng.Value     Rw = Rw + 1     Set B = RngB.Find(Rng.Value, lookat:=xlWhole)     If Not B Is Nothing Then       N = 1       Do Until IsNumeric(B.Offset(N).Value)         Range("C" & Rw).Value = B.Offset(N).Value         N = N + 1         Rw = Rw + 1       Loop     End If   Else     Range("C" & Rw) = Rng.Value     Rw = Rw + 1   End If Next Rng Set RngB = Nothing End Sub  

その他の回答 (2)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

No.2 ですが、ちょっと補足です。 B列のデータ条件が、はっきりしない点がありますので、取り敢えず、 次の条件でコーディングしてあります。 B列には、Aの数値が無い場合も想定してあり、その場合は、A列のデータのみを列記する ようにしています。 これにより、B列のデータを挿入する部分は、同じ数字があった場合は、次の行から、 数値データになる手前までにしています。 数字がない場合も想定していますから、「プラス1の数字があるまで」とはしていません。 幾つでも数値データ、または空白になる手前までを挿入します。 ですから、例で示したB列の文字列データの所に数字だけで表示されているデータのセルが あればその手前までより挿入されません。 希望するものと相違する場合は、適当に直してください。

tg123
質問者

お礼

ありがとうございました。 うまくいきました!

  • wakky_tom
  • ベストアンサー率40% (20/50)
回答No.1

こんにちは 1つ質問しますが、途中に空行は含まれますか? また含まれた場合、空行も表示しますか?

tg123
質問者

補足

空行は含まれません。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう