2013-09-30 36 views
0

如何使用vba excel將兩列不同的數據列組合到一列中,如ColumnA和ColumnC中的數據,並將其分隔爲逗號。如果我有一個輸入框來選擇要組合的列以及組合結果將出現在哪一列,那將會很棒。將兩個不同的列與分隔符結合使用

例如:

ColA ColC ColF 
Apple Orang Apple,Orang 
Pear Grape Pear,Grape 
+2

你不需要VBA,使用['CONCATENATE()' ](http://office.microsoft.com/en-gb/excel-help/concatenate-function-HP010062562.aspx)函數。 – Orbling

+2

或類似的東西:'= A1&「,」&C1' – pnuts

回答

1

如果你真的想要一個宏提示您輸入不同列試試這個:

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 
+0

一個過度的,但+1的努力:) – 2013-09-30 15:42:13

+0

我傾向於這樣做:-) –

+0

嗨感謝所有的建議,但我想要的是結合所有的數據從2欄例如。 ColA和ColC轉化爲ColF,並使用ColA和ColC合併數據之間的逗號分隔符。至於輸入框,以便我也可以結合其他列的日期,我想在宏上運行自動化。欣賞任何人都可以幫助我。謝謝 –

相關問題