1. ホーム
  2. excel

[解決済み] エクセルで列の行を1つのセルに結合する方法は?

2023-08-02 20:09:57

質問

A1:I
A2:am
A3:a
A4:boy 

それらをすべて1つのセル "Iamaboy" にマージしたいのですが。

この例では4つのセルを1つのセルにマージしていますが、私は多くのセル(100以上)を持っているので、私はそれらを1つずつ使用して入力することはできません A1 & A2 & A3 & A4 を使用して1つずつ入力することはできません。どうすればよいですか?

どのように解決するのですか?

私はあなたに私のConcatenateRange VBA関数(ネーミングのアドバイスをしてくれたJeanに感謝!)を紹介します。これは、セルの範囲(任意の寸法、任意の方向など)を取り、単一の文字列にそれらを一緒にマージします。オプションの第3パラメータとして、セパレータ(スペースやカンマなど)を追加することができます。

この場合、こう書いて使うことになります。

=ConcatenateRange(A1:A4)

Function ConcatenateRange(ByVal cell_range As range, _
                    Optional ByVal separator As String) As String

Dim newString As String
Dim cell As Variant

For Each cell in cell_range
    If Len(cell) <> 0 Then
        newString = newString & (separator & cell)
    End if
Next

If Len(newString) <> 0 Then
    newString = Right$(newString, (Len(newString) - Len(separator)))
End If

ConcatenateRange = newString

End Function