基本上我試圖檢查文件夾中的工作簿(大約12個工作簿),這些工作簿中的一些工作表已合併單元格,我希望取消合併用最高的價值填充它們。以下是我所嘗試過的。如何遍歷文件夾中的工作簿並取消合併單元格並填充它們
如果我將下面的代碼用於單個工作簿,它可以工作。
Sub Findmergedcellsandfill()
Dim MergedCell As Range,
Dim FirstAddress As String
Dim MergeAddress As String
Dim MergeValue As Variant
Application.FindFormat.MergeCells = True
Do
Set MergedCell = ActiveSheet.UsedRange.Find("", LookAt:=xlPart, SearchFormat:=True)
If MergedCell Is Nothing Then Exit Do
MergeValue = MergedCell.Value
MergeAddress = MergedCell.MergeArea.Address
MergedCell.MergeArea.UnMerge
Range(MergeAddress).Value = MergeValue
Loop
Application.FindFormat.Clear
End Sub
檢查所有工作簿和做到這一點的代碼,我嘗試了下面的方法,但並不真正做任何事情,感激,如果有人可以幫我一下吧。
Sub findandfilltheunmergedcells()
Dim FolderPath As String
Dim WorkBk As Workbook
Dim MergedCell As Range, FirstAddress As String, MergeAddress As String, MergeValue As Variant
FolderPath = "C:\Users\docs\"
FileName = Dir(FolderPath & "*.xl*")
Do While FileName <> ""
Set WorkBk = Workbooks.Open(FolderPath & FileName)
Application.FindFormat.MergeCells = True
Do
Set MergedCell = ActiveSheet.UsedRange.Find("", LookAt:=xlPart, SearchFormat:=True)
If MergedCell Is Nothing Then Exit Do
MergeValue = MergedCell.Value
MergeAddress = MergedCell.MergeArea.Address
MergedCell.MergeArea.UnMerge
Range(MergeAddress).Value = MergeValue
Loop
Application.FindFormat.Clear
Loop
End Sub
缺少'FileName = Dir()'就在您的第二個'Loop'之前 –
非常感謝您指出這一點。該程序按預期運行。 –