2017-09-15 121 views
1

因此,在文档中,我希望将一列字母转换为单个单元格。例如,如果该列包含字母h,e,l,l,o那么该程序将放入一个单元格“hello”。我尝试用下面的代码来做到这一点,但它留下的输出单元空白添加到现有字符串值

Dim t1 As String 
Dim t2 As String 

Do While Cells(i, "B").Value <> "" 
t2 = Cells(i, "D").Value 
t1 = Cells(i, "B").Value 
Cells(i, "D").Value = t1 & t2 
i = i + 1 
Loop 
在小区放
+2

办公室365 exel:'= CONCAT(B1:B5)' –

回答

3
Function MyConcat(rng as range) 
    dim rngEach as Range 
    For Each rngEach in rng    
     MyConcat = MyConcat & rngEach.Value  
    Next rngEach 
End Function 

然后:=MyConcat(B1:B5)

enter image description here

+1

但是,如果要添加分隔符,则舍弃空白将会很合适。 – Jeeped

1

没有必要使用VBA进行这个。 Excel内置函数CONCATENATE()

使用这样的:

在您需要的输出输入公式

=CONCATENATE(Select cell 1, select cell2,select cell3) 

所以,你可以选择所有要加入的单元的单元。在每个单元之间插入一个逗号。