我尝试在此论坛中找到的各种代码,以便在每次运行程序时连接不同的范围。
不重复的原因: 我需要在Range中显示值(" B1")但是我必须输入" Join"单独使用vba的函数,不需要我在B1中键入UDF。
A中的范围有不同的最后一行没有。取决于需要连接的记录。现有问题定义完全没有。我需要一个灵活的代码。
感谢。
答案 0 :(得分:0)
与&联合(+也会起作用,但有时会引起问题)。
<colorsUsed/>
答案 1 :(得分:0)
你可以使用:
Range("B1").value = Join(Application.Transpose(Rng1), ", ")
您可能还想采用以下重构代码:
Sub New_Segment()
Dim Rng1 As Range, Rng2 As Range, c As Range
With ActiveWorkbook.Worksheets("Mapping")
Set Rng2 = .Range("A1:D" & .UsedRange.Rows(.UsedRange.Rows.Count).Row)
End With
With ActiveWorkbook.Worksheets("Segment Generator")
Set Rng1 = .Range("A5", .Cells(.Rows.Count, "A").End(xlUp))
For Each c In Rng1
c.Offset(, 1) = Application.WorksheetFunction.VLookup(c, Rng2, 4, False)
Next
.Range("B1").value = Join(Application.Transpose(Rng1), ", ")
End With
End Sub