HERBERS Excel-Forum - das Archiv
Leere Zeilen löschen mit VBA
Kenji

Hallo zusammen,
ich habe ein Excel Dokument, in dem pro Zeile verschiedene Werte eingetragen werden. Diese Werte werden per Makro an eine .docm Word Vorlage gesendet und in Formfields dargestellt. Soweit klappt das alles.
Wenn allerdings nun in manchen Zellen in der Excel Datei kein Wert drin steht bleibt das dazugehörige Formfield in Word leer. Dabei entstehen unschöne leere Zeilen, die ich gerne automatisch (per Makro) entfernen lassen möchte.
Wenn ich im Excel Makro die entsprechenden Formfields per .delete Befehl löschen lasse sind zwar die Formfielder im Word Dokument weg, allerdings bleiben die unschönen leeren Zeilen. Wie bekomme ich diese weg?
Grüße
Kenji

AW: Leere Zeilen löschen mit VBA
fcs

Halo Kenji,
probiere es mal mit folgendem Konstrukt, das du dann bezüglich der Formfield Namen/Indexnummer an dein Worddokument anpassen musst.
Gruß
Franz
Sub prcTestFormfield_loeschen()
Dim wdDoc As Object          'Word.Document
Dim wdApp As Object          'Word.Application
Set wdApp = Word.Application
Set wdDoc = wdApp.ActiveDocument
Call prcFormfield_mit_Absatz_loeschen(wdFormfield:=wdDoc.FormFields("Text10"))
End Sub
Sub prcFormfield_mit_Absatz_loeschen(wdFormfield As Object)
'löscht in einem Worddokument ein Formularfeld wenn es leer ist _
inklusive des kompletten Absatzes
Dim wdRange As Object        'Word.Range
If wdFormfield.Result = "" Then
Set wdRange = wdFormfield.Range
wdRange.Expand Unit:=4 '4 = wdParagraph
wdRange.Delete
End If
End Sub

AW: Leere Zeilen löschen mit VBA
Kenji

Perfekt funktioniert so wie ich das haben möchte. Danke dir vielmals.

Leere Zeilen löschen mit VBA
Kenji

Hallo zusammen,
ich habe ein Excel Dokument, in dem pro Zeile verschiedene Werte eingetragen werden. Diese Werte werden per Makro an eine .docm Word Vorlage gesendet und in Formfields dargestellt. Soweit klappt das alles.
Wenn allerdings nun in manchen Zellen in der Excel Datei kein Wert drin steht bleibt das dazugehörige Formfield in Word leer. Dabei entstehen unschöne leere Zeilen, die ich gerne automatisch (per Makro) entfernen lassen möchte.
Wenn ich im Excel Makro die entsprechenden Formfields per .delete Befehl löschen lasse sind zwar die Formfielder im Word Dokument weg, allerdings bleiben die unschönen leeren Zeilen. Wie bekomme ich diese weg?
Grüße
Kenji

AW: Leere Zeilen löschen mit VBA
fcs

Halo Kenji,
probiere es mal mit folgendem Konstrukt, das du dann bezüglich der Formfield Namen/Indexnummer an dein Worddokument anpassen musst.
Gruß
Franz
Sub prcTestFormfield_loeschen()
Dim wdDoc As Object          'Word.Document
Dim wdApp As Object          'Word.Application
Set wdApp = Word.Application
Set wdDoc = wdApp.ActiveDocument
Call prcFormfield_mit_Absatz_loeschen(wdFormfield:=wdDoc.FormFields("Text10"))
End Sub
Sub prcFormfield_mit_Absatz_loeschen(wdFormfield As Object)
'löscht in einem Worddokument ein Formularfeld wenn es leer ist _
inklusive des kompletten Absatzes
Dim wdRange As Object        'Word.Range
If wdFormfield.Result = "" Then
Set wdRange = wdFormfield.Range
wdRange.Expand Unit:=4 '4 = wdParagraph
wdRange.Delete
End If
End Sub

AW: Leere Zeilen löschen mit VBA
Kenji

Perfekt funktioniert so wie ich das haben möchte. Danke dir vielmals.

Bewerten Sie hier bitte das Excel-Portal