vba字典合并单元格为空_用VBA在Excel中分解合并单元格的代码范例

这篇博客提供了两个VBA代码范例,分别用于在Excel中分解已合并的单元格和合并相同内容的单元格。第一个子程序通过遍历选定区域,检查并处理合并单元格,将其内容填充到下方。第二个子程序则利用字典数据结构,合并具有相同值的单元格。这些代码对于处理大量数据和自动化Excel工作表操作非常有用。
摘要由CSDN通过智能技术生成

1

VBA

Excel

中分解合并单元格的代码范例:

Sub

分解合并单元格并填充

()

Set

已选择的区域

= Selection

首行

=

已选择的区域

.Row

行数

=

已选择的区域

.Rows.Count

If

+

-

1

=

65536

Then

=

ActiveSheet.UsedRange.Row

+

ActiveSheet.UsedRange.Rows.Count -

首行

+ 1

首列

=

已选择的区域

.Column

列数

=

已选择的区域

.Columns.Count

For

=

首列

To

首列

+

列数

- 1

Set

单元格

= Cells(

首行

,

)

=

首行

While

单元格

.Row <

首行

+

行数

If

单元格

.MergeCells Then

Set

合并区

=

单元格

.MergeArea

合并区

.UnMerge

If

合并区

.Rows.Count > 1 Then

合并区

.FillDown

=

+

合并区

.Rows.Count

Else

=

+ 1

End If

Set

单元格

= Cells(

,

)

Wend

Next

End Sub

Sub

合并相同的单元格

()

Dim Rng As Range, Dic As Object, Arr, N&

Set Dic = CreateObject("scripting.dictionary")

'

创建字典项目

For Each Rng In Range("b2:b" & Cells(Rows.Count, 2).End(3).Row)

'

循环

B

列要处理的数据区

If Rng <> "" Then

'

如果单元格不为空

,

If

Dic.exists(Rng.Value)

Then

'

如果已存在该单元格内容对应的字典项目

,

则将当前单元格与已存

在内容进行组合

Set Dic(Rng.Value) = Union(Dic(Rng.Value), Rng)

Else

'

否则进行添加

Set Dic(Rng.Value) = Rng

End If

End If

Next Rng

If Dic.Count > 0 Then

'

如果字典项目数大于

0,

Arr = Dic.keys

'

将字典的

key

赋值给数组

Application.DisplayAlerts

=

False

'

关闭警告信息

(

合并单元格时会弹出警告信息

,

通过此命令禁止弹出

该信息

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值