Ersetzen von Zellenformaten (Microsoft Excel)
David muss jedes Vorkommen eines bestimmten Zellenformats in einer Arbeitsmappe mit mehreren Arbeitsblättern finden und ändern. Beispielsweise muss er möglicherweise alle Zellen finden, die als Währung formatiert sind, und dieses Format in Allgemein ändern. Er fragt sich, wie er die Aufgabe erfüllen soll.
Der beste Weg, um diese Aufgabe zu erledigen, hängt von der von Ihnen verwendeten Excel-Version ab. Wenn Sie Excel 2003 verwenden, können Sie die Änderung einfach mit dem Excel-Tool Suchen und Ersetzen vornehmen. Befolgen Sie diese Schritte:
-
Drücken Sie Strg + H. Excel zeigt die Registerkarte Ersetzen des Dialogfelds Suchen und Ersetzen an.
-
Klicken Sie ggf. auf die Schaltfläche Optionen, um das Dialogfeld zu vergrößern.
(Siehe Abbildung 1.)
-
Klicken Sie auf die Schaltfläche Format rechts neben der Zeile Suchen nach. Excel zeigt das Dialogfeld Format suchen an.
-
Stellen Sie sicher, dass die Registerkarte Nummer angezeigt wird. (Siehe Abbildung 2.)
-
Verwenden Sie die Steuerelemente im Dialogfeld, um das Format anzugeben, das Sie suchen möchten.
-
Klicken Sie auf OK, um das Dialogfeld Schriftart suchen zu schließen.
-
Klicken Sie auf die Schaltfläche Format rechts neben Zeile ersetzen durch. Excel zeigt das Dialogfeld Format ersetzen an.
-
Stellen Sie sicher, dass die Registerkarte Nummer angezeigt wird.
-
Verwenden Sie die Steuerelemente im Dialogfeld, um das Format anzugeben, das Sie als Ersatz verwenden möchten.
-
Klicken Sie auf OK, um das Dialogfeld Schriftart ersetzen zu schließen.
-
Verwenden Sie die Dropdown-Liste Innerhalb, um Arbeitsmappe auszuwählen.
-
Klicken Sie auf Alle ersetzen.
Wenn Sie eine ältere Version von Excel verwenden, können Sie mit dem Tool Suchen und Ersetzen keine Formatierung suchen oder ersetzen. Stattdessen müssen Sie ein Makro verwenden, um die Änderungen vorzunehmen. Hier ist ein Beispiel für ein Makro, das einfach alle verwendeten Zellen in der Arbeitsmappe durchläuft und alle Formate auf Allgemein setzt.
Sub FormatGeneral() Dim iSht As Integer Dim rng As Range For iSht = 1 To Sheets.Count Set rng = Worksheets(iSht).UsedRange With rng .NumberFormat = "General" End With Next End Sub
Wenn Sie etwas selektiver festlegen möchten, in welchen Formaten ersetzt werden soll, müssen Sie das vorhandene Format der Zellen überprüfen, während Sie sie durchlaufen. Das folgende Makro sucht beispielsweise nach Zellen, die als Währung formatiert sind, und ändert dann nur diese Zellen in ein allgemeines Format.
Sub CurrencyToGeneral() Dim iSht As Integer Dim rng As Range Dim c As Range For iSht = 1 To Sheets.Count For Each c In Worksheets(iSht).UsedRange.Cells If c.NumberFormat = "$#,##0.00" Then c.NumberFormat = "General" End If Next c Next End Sub
Wenn Sie das Makro noch flexibler gestalten möchten, können Sie aufgefordert werden, auf eine Zelle zu klicken, die das gewünschte Format verwendet, und dann auf eine Zelle zu klicken, die das Format verwendet, in das Sie diese Zellen ändern möchten.
Public Sub UpdateFormats() Dim rFind As Range Dim rReplace As Range Dim rNextCell As Range Dim sNewFormat As String Dim sOldFormat As String Dim ws As Worksheet On Error Resume Next ' Determine the old format Do Set rFind = Application.InputBox( _ prompt:="Select a cell that uses the format " & _ "for which you want to search", _ Type:=8) If rFind Is Nothing Then If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then Exit Sub ElseIf InStr(1, rFind.Address, ":", vbTextCompare) > 0 Then MsgBox "Please select only one cell." Set rFind = Nothing End If End If Loop Until Not rFind Is Nothing sOldFormat = rFind.NumberFormat ' Determine the new format Do Set rReplace = Application.InputBox( _ prompt:="Select a cell using the new format", _ Type:=8) If rReplace Is Nothing Then If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then Exit Sub ElseIf InStr(1, rReplace.Address, ":", vbTextCompare) > 0 Then MsgBox "Please select only one cell." Set rReplace = Nothing End If End If Loop Until Not rReplace Is Nothing sNewFormat = rReplace.NumberFormat ' Do the replacing For Each ws In ActiveWorkbook.Worksheets For Each rNextCell In ws.UsedRange If rNextCell.NumberFormat = sOldFormat Then rNextCell.NumberFormat = sNewFormat End If Next rNextCell Next ws MsgBox "The selected format has been changed." End Sub
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (9865) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: