Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Zellen in mehreren Dateien ersetzen

Forumthread: Mehrere Zellen in mehreren Dateien ersetzen

Mehrere Zellen in mehreren Dateien ersetzen
24.09.2019 10:11:26
Tristan
Hallo zusammen
Ich stehe vor der Aufgabe, in mehreren Excel-Dateien (rund 250, alle mit 4-12 Tabellenblättern) jeweils mehrere Zellen zu ersetzen. Zu ersetzen sind rund 350 Ausdrücke.
Für die einzelnen Teilaufgaben habe ich jeweils einen Code gefunden:
https://www.extendoffice.com/de/documents/excel/1873-excel-find-and-replace-multiple-values-at-once.html
- mehrere Ausdrücke ersetzen
https://microsoft.public.de.excel.narkive.com/o6H7QR5G/suchen-ersetzen-in-mehreren-excel-files
- in mehreren Dateien ersetzen
Nun, wie kann ich die beiden Codes kombinieren? Mangels VBA-Kenntnissen blieben meine eigenen Schnipseleien erfolglos.
Vielen Dank im Voraus für eure Hilfe
Tristan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zellen in mehreren Dateien ersetzen
24.09.2019 10:20:17
Daniel
Hi
im Prinzip so.
die 350 Ausdrücke müssen in der Datei mit dem Makro in Tabelle1 Spalte A (alt) und Spalte B (neu) lückenlos stehen:
Sub ersetzen()
Dim dateien
Dim Wörter
Dim W As Long
dateien = Application.GetOpenFilename _
("Excel-Dateien (*.xls), *.xls", MultiSelect:=True)
Wörter = ThisWorkbook.Sheets("Tabelle1").Cells(1, 1).CurrentRegion.Value
Application.ScreenUpdating = False
If IsArray(dateien) Then
For i = 1 To UBound(dateien)
Workbooks.Open dateien(i)
With ActiveWorkbook
For n = 1 To .Sheets.Count
For W = 1 To UBound(Wörter)
.Sheets(n).Cells.Replace What:=Wörter(W, 1), _
Replacement:=Wörter(W, 2), _
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next
Next
.Save
.Close
End With
Next
End If
End Sub
gruß Daniel
Anzeige
AW: Mehrere Zellen in mehreren Dateien ersetzen
24.09.2019 10:38:51
Tristan
Hi Daniel
Im Prinzip ist das genial!
Vielen Dank dir! (:
Liebe Grüsse
Tristan
Anzeige
Anzeige

Infobox / Tutorial

Zellen in mehreren Excel-Dateien ersetzen


Schritt-für-Schritt-Anleitung

Um mehrere Zellen in mehreren Excel-Dateien zu ersetzen, kannst du ein VBA-Makro verwenden. Die folgende Schritt-für-Schritt-Anleitung zeigt dir, wie du dabei vorgehst:

  1. Öffne eine neue Excel-Datei und erstelle ein neues Tabellenblatt mit dem Namen Tabelle1.

  2. Trage in Spalte A die Ausdrücke ein, die ersetzt werden sollen (alte Werte).

  3. Trage in Spalte B die neuen Ausdrücke ein (neue Werte).

  4. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  5. Füge den folgenden Code in ein neues Modul ein:

    Sub ersetzen()
       Dim dateien
       Dim Wörter
       Dim W As Long
       dateien = Application.GetOpenFilename _
       ("Excel-Dateien (*.xls), *.xls", MultiSelect:=True)
       Wörter = ThisWorkbook.Sheets("Tabelle1").Cells(1, 1).CurrentRegion.Value
       Application.ScreenUpdating = False
       If IsArray(dateien) Then
           For i = 1 To UBound(dateien)
               Workbooks.Open dateien(i)
               With ActiveWorkbook
                   For n = 1 To .Sheets.Count
                       For W = 1 To UBound(Wörter)
                           .Sheets(n).Cells.Replace What:=Wörter(W, 1), _
                           Replacement:=Wörter(W, 2), _
                           LookAt:=xlPart, _
                           SearchOrder:=xlByRows, MatchCase:=False, _
                           SearchFormat:=False, ReplaceFormat:=False
                       Next
                   Next
                   .Save
                   .Close
               End With
           Next
       End If
    End Sub
  6. Schließe den VBA-Editor.

  7. Führe das Makro aus, indem du ALT + F8 drückst und das Makro „ersetzen“ auswählst.

Jetzt kannst du in mehreren Dateien gleichzeitig die gewünschten Werte ersetzen!


Häufige Fehler und Lösungen

  • Fehler: Dateien öffnen nicht möglich.

    • Stelle sicher, dass du die richtigen Dateiformate (.xls) auswählst. Wenn du .xlsx-Dateien verwendest, ändere den Filter im GetOpenFilename-Befehl.
  • Fehler: Das Makro funktioniert nicht.

    • Überprüfe, ob die Werte in Tabelle1 korrekt eingetragen sind. Es dürfen keine leeren Zellen in den Bereichen sein.
  • Frage: Was bedeutet ._xls?

    • Diese Datei stellt eine temporäre oder beschädigte Datei dar. Du solltest sicherstellen, dass die zu bearbeitenden Excel-Dateien im richtigen Format vorliegen.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch Power Query verwenden. Damit kannst du ebenfalls mehrere Werte gleichzeitig ersetzen. Hier eine kurze Anleitung:

  1. Lade die Daten in Power Query.
  2. Wähle die Spalte aus, in der du Werte ersetzen möchtest.
  3. Gehe zu „Transformieren“ und wähle „Ersetzen“.
  4. Füge die alten und neuen Werte in das entsprechende Feld ein.

Diese Methode ist besonders nützlich, wenn du häufig Daten tauschen musst und keine Programmierkenntnisse hast.


Praktische Beispiele

Angenommen, du hast eine Liste von Produktnamen, die du in verschiedenen Dateien ersetzen möchtest. In Tabelle1 trägst du die alten Namen in Spalte A und die neuen Namen in Spalte B ein. Wenn du das oben genannte Makro ausführst, werden die Namen in allen ausgewählten Dateien automatisch aktualisiert.

Ein weiteres Beispiel ist der Austausch von Firmennamen oder Adressen in mehreren Berichten. Hierbei ist das VBA-Skript besonders effektiv, um Zeit zu sparen.


Tipps für Profis

  • Speichere regelmäßig Sicherungskopien deiner Dateien, bevor du das Makro ausführst.
  • Teste das Makro zuerst mit einer kleinen Anzahl von Dateien, um sicherzustellen, dass alles funktioniert.
  • Nutze die Debug.Print-Anweisung im VBA-Code, um den Fortschritt zu verfolgen und eventuelle Fehler zu diagnostizieren.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehr als zwei Spalten zu bearbeiten?
Du kannst das Makro erweitern, indem du zusätzliche Arrays für die neuen Werte einfügst und die Schleifen entsprechend anpasst.

2. Was passiert, wenn ich eine .xls Datei öffne, die beschädigt ist?
Wenn die Datei beschädigt ist, kann das Makro möglicherweise nicht darauf zugreifen. Überprüfe die Integrität der Datei vor dem Ausführen des Makros.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige