Sub UnmergeAndFill()
Dim ws As Worksheet
Dim rng As Range
Dim mergedRange As Range
Dim cellValue As Variant
' 设置为当前活动工作表
Set ws = ActiveSheet
' 遍历工作表中的所有单元格
For Each rng In ws.UsedRange
' 检查是否是合并单元格
If rng.MergeCells Then
' 获取合并区域
Set mergedRange = rng.MergeArea
' 获取合并区域的第一个单元格的值
cellValue = mergedRange.Cells(1, 1).Value
' 取消合并
mergedRange.UnMerge
' 将值填充到整个原来合并的区域
mergedRange.Value = cellValue
End If
Next rng
MsgBox "合并单元格已取消并填充完成!", vbInformation
End Sub