天天看點

清空合并單元格之隐藏單元格

合并單元格有真有假,如果大家不知道二者的差別,請移步《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單元格的合并格式,就可以看到真實結果。

清空合并單元格之隐藏單元格

繼續閱讀