Ich brauche einen schnellen Code, um das Format aller leeren Zellen zu löschen. Ich habe diesen Code geschrieben, aber es ist zu langsam. Gibt es eine Möglichkeit, es schneller zu machen?VBA Format von leeren Zellen in Excel entfernen
Sub removeFormatEmpty()
'Declaration of variables
Dim sheet As Worksheet
Dim rcell As Range
For Each sheet In Worksheets
sheet.Activate
'Cells.UnMerge
For Each rcell In sheet.UsedRange.Cells
If rcell.MergeCells = True Then
rcell.UnMerge
End If
If rcell.Value = "" Then
rcell.ClearFormats
End If
Next rcell
Next sheet
End Sub
Dieser Code funktioniert, aber es ist langsam, da es Zelle für Zelle gehen muss. Gibt es eine Möglichkeit, den gesamten Bereich außer den Zellen mit Inhalt auszuwählen?
Update: Vielen Dank an die Kommentare von bobajob und jordan Ich konnte den Code aktualisieren und es viel schneller und optimiert. Es ist der neue Code:
Sub removeFormatEmptyImproved()
Dim sheet As Worksheet
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For Each sheet In Worksheets
'sheet.Activate
sheet.UsedRange.SpecialCells(xlCellTypeBlanks).ClearFormats
Next sheet
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
So jetzt ist es gelöst.
Versuchen 'sheet.SpecialCells (xlCellTypeBlanks)' – bobajob
Sie brauchen nicht Activate' das Blatt 'Änderungen zu machen, verwenden Sie auch' Application.ScreenUpdating = False' und 'Application.Calculation = xlCalculationManual' am Anfang des Subs, um die Dinge zu beschleunigen, aber denken Sie daran, sie am Ende Ihres Subs wieder auf' True' und 'xlCalculationAutomatic' zu setzen – Jordan