Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Word Makro Serienbrief
16.09.2014 16:15:34 Jakob
NotSolved

Ansicht des Beitrags:
Von:
Jakob
Datum:
16.09.2014 16:15:34
Views:
2150
Rating: Antwort:
  Ja
Thema:
VBA Word Makro Serienbrief

Hallo liebe Leute!

Ich bin ziemlich neu in vba und hab mir da mal ein makro zusammengeschustert (wahrscheinlich ziemlich plump und hässlich aber vergesst nicht: ich bin anfänger ;) ).
Also, das Ziel wäre es einen Serienbrief, der auf einer in Excel angelegten Datenbank basiert, zu filtern und dann nur die gefilterten ergebnise angezeigt zu haben bzw drucken zu können.
Wie schon gesagt habe ich mir da so einiges zusammengeschustert, allerdings habe ich leider 2 große probleme:

1.) mein Serienbrief verliert immer wieder die verbindung zu seiner "Datenbank"

2.) hab ich wohl irgendwas mit meiner ausles schleife falsch gemacht da ich je nach anzahl der ausgewählten betreuer (angenommen ich ´filtere den brief nach einem gewissne betreuer) ich den "filter button" (der meion skript startet) öfter betätigen muss. SOll heißen wenn 2 leute ausgewählt sind muss ich 2 mal klicken, bei drei leuten 3 mal. Jedoch ist das nur beim ersten mal filtern notwendig. Sobald einmal gefiltert wurde funktioniert das skript einwandfrei (bis auf oben genanntes problem).

wäre super wenn ihr mir helfen könntet!

 

LG Jakob :)

 

Private Sub ListeFüllen(ByRef Eingabe As UserForm1)
Dim i As Integer
    With ActiveDocument.MailMerge.DataSource
        .ActiveRecord = wdFirstRecord
        
        For i = 1 To .RecordCount
           TestAdder Eingabe.ListBox1, .DataFields("BL")
           .ActiveRecord = wdNextRecord
        Next i
        
    End With
End Sub

Private Sub TestAdder(ByRef LB As ListBox, ByVal BT As String)

    If Not findeElement(LB, BT) Then
        LB.AddItem BT
    End If

End Sub

Public Sub Anzeigen()
Dim i As Integer
Dim Betreuerliste As String
    With Me.ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            If Betreuerliste <> "" Then
            Betreuerliste = Betreuerliste & ","
            End If
        Betreuerliste = Betreuerliste & "'" & .List(i) & "'"
        End If
    Next i
    End With
    ActiveDocument.MailMerge.DataSource.QueryString = "SELECT * FROM `Tabelle1$`  WHERE `BL` in (" & Betreuerliste & ")"
    'Me.Hide
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Word Makro Serienbrief
16.09.2014 16:15:34 Jakob
NotSolved