= Concatenate関数を常に使用する代わりに、自動化したい反復タスクがあります。これまでの私のコードは次のとおりです。
Cells(2, 5).Value = Cells(2, 1).Value&" - "&Cells(2, 2).Value
残念ながら、これにより「コンパイルエラー:予期:ステートメントの終わり」エラーが発生し、「-」が強調表示されます。これらの2つの値の間にテキスト「-」を挟むにはどうすればよいですか?
Cells(2, 5).Value = Cells(2, 1).Value & " - " & Cells(2, 2).Value
@ジョシュアはあなたの状況に答えを提供しました。より広範な別のソリューションは、私が以前に使用したものです。ここにコピーされたUDFを参照してください。
Option Explicit
Function ConcatenateRow(rowRange As Range, joinString As String) As String
Dim x As Variant, temp As String
temp = ""
For Each x In rowRange
temp = temp & x & joinString
Next
ConcatenateRow = Left(temp, Len(temp) - Len(joinString))
End Function
次に、Excelファイルでこの数式を使用して、結合するセルの範囲を選択し、セルの間に挿入する文字列(この場合は「-」)を指定します。
誰が必要かという提案:
Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long
Dim x As String
i = 1
j = Range("max").Value
x = Cells(i, 2)
For i = 2 To j
x = x & " - " & Cells(i, 2)
Next i
'MsgBox (x)
Range("d1").Value = x
i = 0
End Sub