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:

  1. Drücken Sie Strg + H. Excel zeigt die Registerkarte Ersetzen des Dialogfelds Suchen und Ersetzen an.

  2. Klicken Sie ggf. auf die Schaltfläche Optionen, um das Dialogfeld zu vergrößern.

(Siehe Abbildung 1.)

  1. Klicken Sie auf die Schaltfläche Format rechts neben der Zeile Suchen nach. Excel zeigt das Dialogfeld Format suchen an.

  2. Stellen Sie sicher, dass die Registerkarte Nummer angezeigt wird. (Siehe Abbildung 2.)

  3. Verwenden Sie die Steuerelemente im Dialogfeld, um das Format anzugeben, das Sie suchen möchten.

  4. Klicken Sie auf OK, um das Dialogfeld Schriftart suchen zu schließen.

  5. Klicken Sie auf die Schaltfläche Format rechts neben Zeile ersetzen durch. Excel zeigt das Dialogfeld Format ersetzen an.

  6. Stellen Sie sicher, dass die Registerkarte Nummer angezeigt wird.

  7. Verwenden Sie die Steuerelemente im Dialogfeld, um das Format anzugeben, das Sie als Ersatz verwenden möchten.

  8. Klicken Sie auf OK, um das Dialogfeld Schriftart ersetzen zu schließen.

  9. Verwenden Sie die Dropdown-Liste Innerhalb, um Arbeitsmappe auszuwählen.

  10. 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: