在用Excel整理表格數據時,希望能夠自動合並選中區域內所有單元格的內容,但是Excel軟件自帶的合並功能無法滿足這個要求,應該怎麼辦呢?
我們可以編寫一個“宏”來實現,它可以巧妙地保存選區中所有單元格內的數據,通過循環賦值到一個變量中,最後再將結果輸出到合並後的單元格內。
代碼如下:
Sub 合並單元格()
'關閉屏幕更新和警告提示
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i%
'循環統計選中區域的單元格數據並將其合並到StrTotal中
For i = 1 To Selection.Count
StrTotal = StrTotal & Selection.Cells(i)
Next
'設置選區格式
With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Value = "'" & StrTotal '在合並數據前加 '號
End With
'恢復屏幕更新和警告提示
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
將上面的宏指定給一個自定義的工具欄按鈕。接下來我們就可以測試一下結果了,如在幾個不相鄰的單元格內依次輸入不同的數據(可以是文字、字母或數字),最後選中所有的數據區域,單擊剛才自定義的按鈕,就可以看到合並的效果了。