tft每日頭條

 > 圖文

 > 如何不規則的合并單元格

如何不規則的合并單元格

圖文 更新时间:2024-07-24 02:15:48

在實際工作中,對于結構簡單的帶有合并單元格的表格,一般可以通過取消合并單元格後,再通過定位空值然後進行填充,但是對于這種填充隻對結構簡單的表格有效,如果合并單元格的區域像下面這樣子,又将如何取消合并并且填充呢?

多種樣式的單元格合并

如何不規則的合并單元格(取消複雜的合并單元格)1


很顯然,對于部門列的單元格合并,由于數據結構十分複雜,上述的做法已經不能滿足需求了,一般的查找與引用函數也不會奏效,那麼你可以試一下VBA法,兩個for循環就可搞定,廢話不多說,直接上GIF效果圖。


動态演示圖

如何不規則的合并單元格(取消複雜的合并單元格)2




下面的代碼你可以直接拷貝到你電腦上用(粘貼到代碼窗口[VBE界面]),主要意思是通過你選擇的區域進行循環取消合并單元格:

Sub UnMergeRange2() '取消合并單元格

Dim MaxRow As Integer '

Dim Rng As Range

Dim x%, y%, m%, n%, i%

Dim Rng2 As Range

'Dim x% 等價于 Dim x As Integer

On Error ResumeNext'發生錯誤繼續運行

'Rng接收選擇的區域

Set Rng = Application.InputBox("請選擇需要取消合并單元格的區域:", _

"區域選擇", , , , , , 8)

'x循環選擇區域的行

'y循環選擇區域的列

For x = 1 To Rng.Rows.Count

For y = 1 ToRng.Columns.Count

'Rng2 接收循環在選擇區域的行列(單元格)

Set Rng2 = Rng.Cells(x, y)

'i 接收Rng2合并單元格的合并單元格的數量

i = Rng2.MergeArea.Count

'當i=1時,則不存在合并單元格

'當i>1時,說明存在合并單元格

If i > 1 Then

'm 接收Rng2合并單元格區域 行數的統計

'n 接收Rng2合并單元格區域 列數的統計

m = Rng2.MergeArea.Rows.Count

n =Rng2.MergeArea.Columns.Count

Rng2.UnMerge '取消合并單元格

'Rng2(取消合并後)擴展m行n列的區域,

'等于Rng2的内容

Rng2.Resize(m, n).Value =Rng2.Value

End If

Next

Next

End Sub

包含完整代碼的Excel文件在此:

如何不規則的合并單元格(取消複雜的合并單元格)3

特殊時期,小夥伴們盡量不要出門。悶了,就看看窗外的景色吧。

如何不規則的合并單元格(取消複雜的合并單元格)4


圖文作者:趙中山

原載公衆号 速錄小知識

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved