在整理 Excel 表格數據時,我們常需要將選取區域內所有單元格的文字或數值合併成一個字串。Excel 內建的「合併儲存格」功能只會保留左上角的資料,無法滿足這項需求。此時,撰寫一個簡單的 VBA 宏(巨集)即可完美解決:它會遍歷選取區域的每一個儲存格,將內容依序累加到變數中,最後將結果寫入合併後的單元格,並自動置中對齊。
Sub 合併單元格內容()
' 關閉螢幕更新與警告提示以提升效能
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i As Long
Dim StrTotal As String
' 迴圈累加選取區域內所有儲存格的值
For i = 1 To Selection.Count
StrTotal = StrTotal & Selection.Cells(i).Value
Next i
' 設定合併後的單元格格式
With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Value = "'" & StrTotal ' 前置單引號避免數值被視為日期或科學記號
End With
' 還原環境設定
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
合併單元格內容,點選「選項」指定快捷鍵(如 Ctrl+Shift+M),或將其加入「快速存取工具列」建立專屬按鈕。StrTotal = StrTotal & Selection.Cells(i).Value & ","。