我发现此网站上的以下代码非常有用
URL
我试图让它在没有运气的工作簿中的所有工作表中执行此操作。
这就是我所拥有的。它似乎仍然只在活动工作表上执行操作。任何帮助将不胜感激。
Public Sub UnmergeAndFill()
With Selection
If .MergeCells Then
.MergeCells = False
Selection.Cells(1, 1).Copy
ActiveSheet.Paste 'Or PasteSpecial xlPasteFormulasAndNumberFormats
End If
End With
End Sub
答案 0 :(得分:1)
你能试试吗?你的循环没有引用循环变量ws
,也没有必要选择任何东西。
Sub UnmergeAndFill()
Dim ws As Worksheet, r As Range, r1 As Range
For Each ws In ActiveWorkbook.Worksheets
With ws.UsedRange
If IsNull(.MergeCells) Or .MergeCells Then
On Error Resume Next
For Each r In .SpecialCells(xlCellTypeBlanks)
If r.MergeCells Then
Set r1 = r.MergeArea
r.UnMerge
r1.Value = r.Value
End If
Next r
on error goto 0
End If
End With
Next ws
End Sub