Hallo in die Runde. Ich hätte mal eine Frage zu WORD Serienbrief erstellen und dabei eine Filterfunktion nutzen. Habe mit VISUAL BASIC einen gewissen Teil erstellen können, aber das mit dem Filter einbauen will mir nicht gelingen. Folgender Faktoren haben Einfluss auf den Kode:
Die Datei ist Koeln.xls, die Tabelle ist Tabelle1, die Gruppe ist die Spalte (7) worin ein Filter gesetzt wird, und gefiltert werden ausschließlich Zahlen.
Wenn ich den Kode ausführe, meckert er bei "&Filter&", er markiert das Wort blau und gibt den Fehlertext "Fehler beim Kompilieren, Argument ist nicht optional". Hat da jemand eine Lösung und kann mir ein Beispiel liefern, ich bin hier mit meinem Wissen am Ende. Für eure Unterstützung Danke und Gruß Josef
Die Datei ist Koeln.xls, die Tabelle ist Tabelle1, die Gruppe ist die Spalte (7) worin ein Filter gesetzt wird, und gefiltert werden ausschließlich Zahlen.
Wenn ich den Kode ausführe, meckert er bei "&Filter&", er markiert das Wort blau und gibt den Fehlertext "Fehler beim Kompilieren, Argument ist nicht optional". Hat da jemand eine Lösung und kann mir ein Beispiel liefern, ich bin hier mit meinem Wissen am Ende. Für eure Unterstützung Danke und Gruß Josef
Code:
Option Explicit
Sub koeln_neu()
'
Dim Gruppe As Variant
' Selection.TypeText Text:="Koeln"
' Selection.TypeText Text:="Sehr geehrte Damen und Herren,"
ActiveDocument.ToggleFormsDesign
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Users\Besitzer\Desktop\koeln.xls", ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\Besitzer\Desktop\koeln.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37""""" _
, SQLStatement:="SELECT * FROM `Tabelle1$` where `Gruppe` = " & filter & "", SQLStatement1:="", SubType:=wdMergeSubTypeAccess
Selection.MoveUp Unit:=wdLine, Count:=4
Selection.TypeParagraph
Selection.TypeParagraph
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""Anrede"""
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""Vorname"""
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""Nachname"" \m"
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""Straße"""
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""PLZ"""
ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
, Text:="""Wohnort"""
Selection.TypeParagraph
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
End Sub