Datenübertrag nach Word löscht Textmarken
09.11.2017 10:14:49
Nico
Ich habe folgendes Problem und hoffe, ihr könnt mir helfen:
Ich möchte einen VBA-basierten Datenübertrag von Excel nach Word bauen. Leider sind meine VBA-Kenntnisse - vorsichtig gesagt - ausbaufähig. Ich bin allerdings mittlerweile soweit, dass das Makro tut was ich will - zumindest meistens. :-)
Ich habe in Word Textmarken gesetzt, um die Anfangs- und Endpunkte für den Übertrag eines Zellwerts aus Excel zu definieren. Mein Makro soll erst die ggf. zwischen diesen Textmarken vorhandenen "alten" Daten löschen und dann in einem zweiten Schritt die "neuen" Daten an diese Stelle übertragen.
Hier der entsprechende Auszug aus dem Code:
If objDocument.Bookmarks.Exists(strBookmark3) And objDocument.Bookmarks.Exists(strBookmark4) Then
'Alten Text löschen
objDocument.Range(Start:=objDocument.Bookmarks(strBookmark3).Range.Start, _
End:=objDocument.Bookmarks(strBookmark4).Range.End).Select
objApp.Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=1
objApp.Selection.Delete
'Schreibe den Wert in die Textmarke Name
objDocument.Bookmarks(strBookmark3).Range = .Cells(3, 4).Text
objDocument.Range(Start:=objDocument.Bookmarks(strBookmark3).Range.Start, _
End:=objDocument.Bookmarks(strBookmark4).Range.End).Select
objDocument.Bookmarks(strBookmark4).Select
objApp.Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=1
objApp.Selection.Delete
Else
MsgBox ("Textmarken nicht gesetzt - Info 1")
End If
Wie gesagt klappt das soweit alles ...
Allerdings habe ich immer dann ein Problem, wenn zwischen den Textmarken als Alttext nur ein einziges Zeichen, z.B. eine "4" stand. Wenn diese gelöscht wird, dann werden direkt auch meine Textmarken gelöscht sowie alles, was sonst noch so in dieser Zeile steht und die neuen Infos werden nicht übertragen.
Habt ihr eine Idee, wie ich den Code anpassen müsste, damit dieser Fehler nicht mehr vorkommt?
Vielen Dank schonmal für eure Hilfe!
Grüße,
Nico