Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA-Lösung für Suchen und Ersetzen (STRG+H)
#1
Hallo Freunde,

das folgende aufgezeichnete Makro soll mir in Spalte F Einträge ersetzen (und dadurch Tipparbeit ersparen). In Listen, die in unregelmäßigen Abständen ergänzt werden, stehen in manchen Zeilen "erster Termin" bzw. "zweiter Termin". Der zweite bezieht sich generell auf das aktuelle Datum, der erste 10 Tage vom aktuellen Datum gerechnet in der Vergangenheit (=heute() bzw. =heute()-10)

Ich hatte nun zum Aufzeichnen gedacht, ich schreibe die beiden Formeln in Hilfszellen und vergebe Namen (Termin1 und Termin2), um diese als Suchkriterium zu benutzen. Allerdings weiß der Makrorekorder nicht, dass es sich um Namen handelt und ersetzt nur Text.

Code:
Sub Aktualisieren()
'
' Aktualisieren Makro
'

'
    Range("F:F").Replace What:="erster Termin", Replacement:="Termin1", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("F:F").Replace What:="zweiter Termin", Replacement:="Termin2", LookAt _
        :=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

Meine Fragen:

1. Brauche ich für mein Vorhaben die Hilfszellen überhaupt?
2. Wie lautet die Anweisung für Replacement?

Schon jetzt vielen Dank für eure Hilfe.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#2
Hallo Günter

Ich bin nicht der VBA-Experte aber ich würde vermuten dass statt "Termin1" Range(Termin1) funktioniert.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • WillWissen
Antworten Top
#3
(06.11.2014, 06:58)shift-del schrieb: Hallo Günter

Ich bin nicht der VBA-Experte aber ich würde vermuten dass statt "Termin1" Range(Termin1) funktioniert.

Hi Detlef,

ganz lieben Dank. Bei deinem Vorschlag fehlten lediglich die Anführungseichen. So hat's einwandfrei geklappt:

Code:
Replacement:=Range("Termin1")
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Zitat:Bei deinem Vorschlag fehlten lediglich die Anführungseichen).
Das wäre dann mein nächster Vorschlag gewesen. :19:
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
Hi Günter,

sowas ginge auch:

Code:
Sub Aktualisieren()
  Range("F:F").Replace What:="erster Termin", Replacement:=Date - 10, LookAt:= _
      xlPart, SearchOrder:=xlByRows, MatchCase:=False
  Range("F:F").Replace What:="zweiter Termin", Replacement:=Date, LookAt _
      :=xlPart, SearchOrder:=xlByRows, MatchCase:=False
End Sub

Gruß Uwe
[-] Folgende(r) 2 Nutzer sagen Danke an Kuwer für diesen Beitrag:
  • WillWissen, Wulfi
Antworten Top
#6
Hi Uwe,

auch dir ganz lieben Dank. Ich werde deinen Codevorschlag einbauen - ich erspare mir hier die Hilfszellen. Somit ist auch meine erste Frage erledigt.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste