title image


Smiley Re: Suchen + ersetzen mit Variablen?
Hallo Björn,



wenn ich das richtig sehe, geht das mit einer For-Next-Schleife, wie ich sie in meinem Beispiel auch verwendet habe:



Sub SuchenMitKonkordanz()

'

' SuchenMitKonkordanz Makro

'

Dim Alt As String

Dim Neu As String

Dim I



'Hier Anzahl der Durchgänge festlegen:

For I = 1 To 521



Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

Alt = Selection.Text

Selection.MoveRight Unit:=wdCharacter, Count:=2

Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

Neu = Selection.Text

Selection.MoveRight Unit:=wdCharacter, Count:=3

'Hier Dokumentnamen anpassen (zu bearbeitende Datei):

Windows("Bearbeitungsdatei.doc").Activate

ActiveWindow.Panes(1).Activate



Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = Alt

.Replacement.Text = Neu

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

End With

Selection.Find.Execute

Selection.Find.Execute Replace:=wdReplaceAll

'Hier Dokumentnamen anpassen (Konkordanzdatei):

Windows("Konkordanzdatei.doc").Activate

ActiveWindow.Panes(1).Activate

Next I

End Sub



Hinweise: beim Start geöffnet ist die Konkordanzdatei, in die Variable "alt" wird der Suchbegriff gespeichert (1. Spalte der Konkordanz), in die Variable "neu" der Ersetzungsbegriff (2. Spalte der Konkordanz) - dafür brauchst Du wohl keine Variable, sondern fügst hier deine Textmarke ein. Schließlich wird der Cursor an den Anfang der nächsten Zeile positioniert.

Dann wechselt es in die zu bearbeitende Datei und führt den Suche/Ersetze-Vorgang aus und ruft abschließend die Konkordanzdatei wieder auf. "Next I" startet den nächsten Durchgang (in der zweiten Zeile). Die Zahl der Durchgänge muss am Anfang angegeben werden.



Viel Erfolg,

wivo

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: