學習vba之按列合併將選定區域的單元格合併成一列
阿新 • • 發佈:2018-11-11
學習VBA-合併列
首先選定一個區域,將這個區域的內容按列合併到該區域的後一列中。
學習過程中,如有錯誤或改進之處,還請多多指教!
Sub 合併列()
Dim hang As Integer '控制輸出的行Dim lie As Integer '控制輸出的列
hang = Selection.Cells(1).Row
lie = Selection.Columns.Count + Selection.Cells(1).Column '預設在選定區域後的第一列輸出
Dim sHang As Integer '選定區域的左上第一個單元格的行下標
Dim sLie As Integer '選定區域的左上第一個單元格的列下標
For sLie = Selection.Cells(1).Column To Selection.Columns.Count + Selection.Cells(1).Column - 1 '列後迴圈 Selection.Columns.Count 為選定區域的列數
For sHang = Selection.Cells(1).Row To Selection.Rows.Count + Selection.Cells(1).Row - 1 '行先迴圈
If Cells(sHang, sLie) = "" Then '若當前單元格內容為空則跳出當前迴圈
Exit For
End If
Cells(hang, lie) = Cells(sHang, sLie) '若不為空則在輸出單元格輸出資料
hang = hang + 1 '輸出行標加1
Next
Next
End Sub
測試如下:
選定單元格:
執行結果:
選定單元格:
執行結果: