我有两列数据,其范围是可变的,我需要将这些单元格的值分成两个单元格。我使用了Excel公式,但由于范围是可变的,我发现它不可靠。
假设数据在A列和B列中,如下所示,输出单元格为D1和E1:
A B C D
AA BB AA,A,AAA,AAAA,DD BB,B,BBB,BBBB,DD
A B
AAA BBB
AAAA BBBB
DD DD
Excel公式:
D1 = (A1&","&A2&","&A3&","&A4&","&A5)
E1 = (B1&","&B2&","&B3&","&B4&","&B5)
此处的范围是直到5
,但它不固定,可能会有所不同。格式如公式中所述。
请帮帮我!如果可能的话,我想拥有VBA代码。
答案 0 :(得分:1)
您可以将以下代码放入工作簿中的VBA模块,并使用工作簿上的=ConcatRange(range)
函数来实现您的需求
Function ConcatRange(rng As Range) As String
Dim output As String
Dim r As Range
For Each r In rng
output = output & r & ", "
Next r
ConcatRange = Left(output, Len(output) - 2)
End Function
例如,对=ConcatRange(A1:A5)
C1