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

Suchen-Ersetzen mit Variable

Forumthread: Suchen-Ersetzen mit Variable

Suchen-Ersetzen mit Variable
20.01.2005 18:28:06
Fabio
Hallo zusammen,
ich habe mit ein Makro aufgezeichnet, mit dem ich eine ganze Spalte nach einem Wert durchsuche (also suche in der markierten Spalte den Wert "_012005.xls]1. KW" und dann will ich den durch einen anderen Wert ersetzen.
Der andere Wert soll aber variabel sein, d.h. es sollte ein "popUp" (oder so) aufgehen, in dem ich den Wert eintrage (z.B. ersetze durch _022005.xls]10. KW ).
Kann man sowas in einem "aufgezeichneten" Makro irgendwie eingeben - ohne grossen Aufwand ? Wenn ja - wie ? Wenn nein - ok - dann gehts nicht.
Vielen Dank
Fabio (der, der immer so dumme fragen hat)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen-Ersetzen mit Variable
Heiko
Hallo Fabio,
klar geht das, am einfachsten stellst du mal deinen Code hier rein, dann kann man sehen was zu verändern wäre.
Aber ein Frage habe ich noch, wie benutzt du nicht die ersetzen Funktion von EXCEL wenn du da eine Spalte markierst wird auch nur in dieser Spalte ersetzt.
Gruß Heiko
Anzeige
AW: Suchen-Ersetzen mit Variable
bernd
hallo fabio
sowas ähnliches liefert der recorder:
(bischen ergänzt)

Sub Makro1()
Dim was As String
was = InputBox("was soll rein?")
Selection.Replace What:="_012005.xls]1. KW", Replacement:=was, LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

bernd
Anzeige
AW: Suchen-Ersetzen mit Variable-offen
21.01.2005 10:18:28
Fabio
Hallo nochmals,
das Problem - oder ich muss meine Frage etwas korrigieren.
Es soll nicht durch den Wert "_012005.xls]1. KW" ersetzt werden sondern IMMER durch den Wert, der im Feld A3 steht - kann man das ohne grossen Aufwand ändern ?
Nochmals :
1. Richtige Spalte ist markiert (manuell)
2. Start des Makros das folgendes auslöst
-&gt&gt suche in der Markierten Spalte nach dem Wert der im Feld A1 steht
-&gt&gt ersetze den gesuchten Wert durch den Wert der im Feld A2 steht
Danke !
Fabio (der Nervende)
Anzeige
AW: Suchen-Ersetzen mit Variable-offen
bernd
hallo fabio
das makro funktioniert.
nur wie willst du es anstoßen?

Sub Makro1()
Selection.Replace What:=[a1], Replacement:=[a3], LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

bernd
Anzeige
AW: Suchen-Ersetzen mit Variable-offen
21.01.2005 12:20:51
Fabio
Ein absoluter Traum ! Genau das habe ich gesucht !Vielen Vielen Dank !
Fabio
;
Anzeige

Infobox / Tutorial

Suchen und Ersetzen in Excel mit Variablen


Schritt-für-Schritt-Anleitung

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

  2. Neues Makro erstellen: Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub Makro1()
       Dim was As String
       was = InputBox("Was soll rein?")
       Selection.Replace What:="_012005.xls]1. KW", Replacement:=was, LookAt:=xlPart, _
       SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
    End Sub
  4. Ändern auf Zellbezüge: Um die Werte aus den Zellen A1 und A3 zu verwenden, ändere den Code wie folgt:

    Sub Makro1()
       Selection.Replace What:=[A1], Replacement:=[A3], LookAt:=xlPart, _
       SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor, gehe zurück zu Excel und führe das Makro aus. Markiere die gewünschte Spalte und drücke ALT + F8, wähle das Makro und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: „Typen nicht kompatibel“: Überprüfe, ob die Zellen A1 und A3 tatsächlich Werte enthalten. Leere Zellen können diesen Fehler verursachen.
  • Fehler: Nichts wurde ersetzt: Stelle sicher, dass der gesuchte Wert in der markierten Spalte vorhanden ist. Überprüfe die Schreibweise und mögliche Leerzeichen.
  • Makro läuft nicht: Achte darauf, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter und passe die Einstellungen an.

Alternative Methoden

  • Excel-Funktion „Suchen und Ersetzen“: Du kannst auch die integrierte Funktion „Suchen und Ersetzen“ verwenden, um schnell Werte in einer Spalte zu ändern. Drücke STRG + H, um das Fenster zu öffnen, und gib die gewünschten Werte ein.

  • Power Query: Für umfangreiche Datenbearbeitungen kann auch Power Query eingesetzt werden. Damit kannst du Daten aus verschiedenen Quellen importieren und transformieren, bevor du sie in Excel verwendest.


Praktische Beispiele

  • Beispiel 1: Wenn du den Wert in Zelle A1 („_012005.xls]1. KW“) durch den Wert in Zelle A3 („_022005.xls]10. KW“) ersetzen möchtest, markiere einfach die Spalte und führe das Makro aus.

  • Beispiel 2: Du kannst das Makro so anpassen, dass es mehrere Werte in einer Schleife ersetzt. Das ist nützlich, wenn du mit einer Liste von Werten arbeitest.

    Sub MakroMehrfach()
       Dim i As Integer
       For i = 1 To 10
           Selection.Replace What:=Cells(i, 1).Value, Replacement:=Cells(i, 2).Value, LookAt:=xlPart
       Next i
    End Sub

Tipps für Profis

  • Verwende Kommentare im Code: Kommentiere deinen VBA-Code, um ihn leichter verständlich zu machen. Das erleichtert die Wartung und Anpassung in der Zukunft.

  • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung in dein Makro, um unerwartete Probleme zu vermeiden. Hier ein einfaches Beispiel:

    On Error GoTo Fehler
    ' Dein Code hier
    Exit Sub
    Fehler:
    MsgBox "Ein Fehler ist aufgetreten!"

FAQ: Häufige Fragen

1. Kann ich das Makro für mehrere Spalten verwenden?
Ja, du kannst das Makro so anpassen, dass es durch mehrere Spalten iteriert. Du musst lediglich eine Schleife implementieren, die durch die gewünschten Spalten geht.

2. Wie kann ich das Makro schneller ausführen?
Du kannst eine Schaltfläche in der Excel-Oberfläche erstellen, die das Makro direkt ausführt, um den Zugriff zu erleichtern. Gehe zu Entwicklertools > Einfügen und wähle die Schaltfläche aus.

3. Welche Excel-Version wird benötigt?
Das Makro funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010, 2013, 2016 und 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige