如何使用vba excel将两列不同的数据列组合到一列中,如ColumnA和ColumnC中的数据,并将其分隔为逗号。如果我有一个输入框来选择要组合的列以及组合结果将出现在哪一列,那将会很棒。将两个不同的列与分隔符结合使用
例如:
ColA ColC ColF
Apple Orang Apple,Orang
Pear Grape Pear,Grape
如何使用vba excel将两列不同的数据列组合到一列中,如ColumnA和ColumnC中的数据,并将其分隔为逗号。如果我有一个输入框来选择要组合的列以及组合结果将出现在哪一列,那将会很棒。将两个不同的列与分隔符结合使用
例如:
ColA ColC ColF
Apple Orang Apple,Orang
Pear Grape Pear,Grape
如果你真的想要一个宏提示您输入不同列试试这个:
Sub Macro1()
Dim firstCol As String
firstCol = InputBox(Prompt:="Enter first column: ", Title:="Enter data", Default:="A")
Dim secondCol As String
secondCol = InputBox(Prompt:="Enter second column: ", Title:="Enter data", Default:="B")
Dim resultCol As String
resultCol = InputBox(Prompt:="Enter results column: ", Title:="Enter data", Default:="C")
LastRow = Cells(Rows.Count, firstCol).End(xlUp).Row
Dim comma As String
comma = ","","","
For Each rng In Range(firstCol & "1:" & firstCol & LastRow)
Range(resultCol & rng.Row).Formula = "=CONCATENATE(" & firstCol & rng.Row & comma & secondCol & rng.Row & ")"
Next
End Sub
一个过度的,但+1的努力:) – 2013-09-30 15:42:13
我倾向于这样做:-) –
嗨感谢所有的建议,但我想要的是结合所有的数据从2栏例如。 ColA和ColC转化为ColF,并使用ColA和ColC合并数据之间的逗号分隔符。至于输入框,以便我也可以结合其他列的日期,我想在宏上运行自动化。欣赏任何人都可以帮助我。谢谢 –
你不需要VBA,使用['CONCATENATE()' ](http://office.microsoft.com/en-gb/excel-help/concatenate-function-HP010062562.aspx)函数。 – Orbling
或类似的东西:'= A1&“,”&C1' – pnuts