将excell公式转换为vba,以便将多个单元格值隐藏到单个单元格中的灵活性?

时间:2015-12-17 11:04:33

标签: excel vba excel-vba

我有两列数据,其范围是可变的,我需要将这些单元格的值分成两个单元格。我使用了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代码。

1 个答案:

答案 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