天天看點

cxgrid 行合并單元格_Excel VBA 之 隐藏合并單元格所在的行

cxgrid 行合并單元格_Excel VBA 之 隐藏合并單元格所在的行

前幾天收到一個需求,需要将工作表内的所有合并的單元格所在的行全部隐藏。第一次做這種需求,我的思路是這樣的:

之前在《VBA常用技巧》裡看到過,批量删除空白單元格,關鍵代碼是這樣的

Columns(1).SpecialCells(4).EntireRow.Delete
           

想要擷取《VBA常用技巧》,請看這篇文章:848個Excel VBA 實用技巧,執行個體+詳細解析,入門必看,建議收藏

擷取第一列所有空白單元格,删除它們所在行

那麼,我就想到了,先取一下所有合并單元格的行号,可以将這些行的第一列單元格加入Range,然後用Range.EntireRow.Hidden = True來解決

因為考慮到擷取的行号可能會有重複,是以就用字典來實作去重,

代碼如下:

Set dic = CreateObject("Scripting.Dictionary")For Each c In ActiveSheet.UsedRange    If c.MergeCells = True Then        dic(c.Row) = ""    End IfNext
           

就這樣,就取到了所有合并單元格的行号。然後将這些行的A列單元格加入range,代碼如下:

arr = dic.keysSet rng = Cells(arr(0), 1)For i = 1 To UBound(arr)    Set rng = Union(rng, Cells(arr(i), 1))Next
           

最後,

rng.EntireRow.Hidden = True
           

這樣,代碼就完成了!

看一下效果:

cxgrid 行合并單元格_Excel VBA 之 隐藏合并單元格所在的行

最終效果

全部代碼如下:

cxgrid 行合并單元格_Excel VBA 之 隐藏合并單元格所在的行

代碼全貌

點選下面連結可以檢視我的其他文章哦!

Excel VBA 之 去除重複項

Excel VBA 之 年會抽獎小程式

Excel VBA 之 自動建立工作表目錄

Excel VBA 之 将txt文檔批量導入至Excel

Excel VBA 之 圖檔網址批量轉成圖檔(一)

Excel VBA 之 圖檔網址批量轉成圖檔(二)

Excel VBA 之 批量給Word文檔添加頁眉頁腳

喜歡的朋友記得點贊關注哦,網友們如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我将在下期分享給大家,以後不定期更新Excel VBA技巧!