vba 連結セルについて助けが必要です。
スプレッド シートがあります。列 A には、数行分の製品 A、数行分の製品 B などの値が含まれています。たとえば、製品 A の列 BJ のセルを連結し、値を列 K または別のシートに書き込み、次に製品 B で同じことを行い、スプレッドシートの最後まで同様に行います。
これには、私が学んでいるが仕事をするのにはまだ良くないvbaコーディングが必要になると思います。助けてください!
ありがとう、cj
vba 連結セルについて助けが必要です。
スプレッド シートがあります。列 A には、数行分の製品 A、数行分の製品 B などの値が含まれています。たとえば、製品 A の列 BJ のセルを連結し、値を列 K または別のシートに書き込み、次に製品 B で同じことを行い、スプレッドシートの最後まで同様に行います。
これには、私が学んでいるが仕事をするのにはまだ良くないvbaコーディングが必要になると思います。助けてください!
ありがとう、cj
これにはvbaコーディングが必要だと思います
いいえ、これにはvbaは必要ありません:)
この数式を K1 に入れて下にドラッグします
=B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1&" "&H1&" "&I1&" "&J1
SPACE
これにより、区切り文字としてデータが連結されます。スペースが必要ない場合は、上記の式を次のように修正します。
=B1&C1&D1&E1&F1&G1&H1&I1&J1
COMMA
同様に、区切り文字として連結したい場合は、これを使用します
=B1&", "&C1&", "&D1&", "&E1&", "&F1&", "&G1&", "&H1&", "&I1&", "&J1
等々...
単一の列のすべてを別のセルに入れたいので、私はそれを読みました。これは、指定したセルからすべてのデータを取得し、データが途切れるまですべてを連結するルーチンです。
Option Explicit
Function ColConc(CellRef As Range, Delimiter As String)
Dim LoopVar As Long
Dim StartRow As Long
Dim EndRow As Long
Dim Concat As String
Dim Col As Long
Col = CellRef.column
StartRow = CellRef.Row
EndRow = CellRef.End(xlDown).Row
Concat = ""
For LoopVar = StartRow To EndRow
Concat = Concat & Cells(LoopVar, Col).Value
If LoopVar <> EndRow Then Concat = Concat & Delimiter
Next LoopVar
ColConc = Concat
End Function
数式を使用して呼び出すと=ColConc(A2," ")
、セル A2 からその列の末尾までのすべてが、区切り文字としてスペースを使用して取得されます。
区切り文字には任意の文字列を使用できるため、データの間には何でも配置できます。空白のセルは、単一の文字列に連結するために使用するデータを終了します。
現在のシートでのみ機能します-その部分を機能させるには、さらにコーディングが必要になります