清空合併單元格之隱藏單元格

合併單元格有真有假,如果大家不知道二者的區別,請移步《Excel合併單元格之真假李逵》先了解一下。識別兩種合併單元格的方法也很簡單,輔助列使用公式讀取一下單元格內容,如果合併單元格之隱藏單元格仍然有內容,那麼這就是粘貼格式創建的合併單元格。
在這裏插入圖片描述
接下來要講的合併單元格是用粘貼格式產生的,如果希望清空D列中合併單元格中的隱藏單元格內容,例如:D3:D4,常規的操作方法是,選中D2,取消合併單元格,然後再次設置合併單元格,就會清空D3:D4單元格區域。如果工作表中有合併單元格數量很多,這樣的操作會搞到令人懷疑人生。藉助VBA可以快速實現這個需求。示例代碼如下。

Sub demo()
    Dim r As Range
    lst = Cells(Rows.Count, 2).End(xlUp).Row
    For i = 2 To lst
        Set r = Cells(i, 4)
        If r.MergeCells Then
            If r.MergeArea(1).Address <> r.Address Then r = ""
        End If
    Next
End Sub

【代碼解析】
第3行代碼獲取最後一行數據的行號。
第4~9行代碼循環處理每一行。
第5行代碼將第四列單元格對象保存在變量中。
第6行代碼判斷單元格是否屬於合併單元格。
第7行代碼判斷當前單元格的地址是否與所在合併單元格區域第一個單元格的地址相同,如果相同,不做任何處理,如果不同,那麼將清空單元格內容。

運行代碼,妥妥的清空隱藏單元格。輔助列顯示0,並不代表D列被填充了數字0,取消D2單元格的合併格式,就可以看到真實結果。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章