Thema Datum  Von Nutzer Rating
Antwort
20.12.2012 14:40:16 Kiki
NotSolved
Blau Serienbrief
20.12.2012 14:55:54 Gast35443
NotSolved
20.12.2012 14:56:43 Gast21229
NotSolved

Ansicht des Beitrags:
Von:
Gast35443
Datum:
20.12.2012 14:55:54
Views:
1155
Rating: Antwort:
  Ja
Thema:
Serienbrief

Sub serienbrief()

Set oWord = CreateObject("Word.Application")
Sheets("Anlage").Select
Cells.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
'Öffnen der Dokumentvorlage
Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With oFileDialog
     .Title = "Wählen Sie bitte das Anschreiben an den Kunden aus!"
     .ButtonName = "Weiter"
     .AllowMultiSelect = False
     .InitialFileName = ActiveWorkbook.Path
    If .Show = True Then
    '.SelectedItems
    End If
End With

Sheets("Anschreiben").Activate
Cells(3, 8).Activate
Do
Selection.End(xlDown).Select
Loop Until ActiveCell.Row = 65536
Selection.End(xlUp).Select
last_row = ActiveCell.Row
Sheets("Anlage").Activate
Cells(3, 5).Activate
Do
Selection.End(xlDown).Select
Loop Until ActiveCell.Row = 65536
Selection.End(xlUp).Select
last_row_a = ActiveCell.Row

For z = 3 To last_row

oWord.Documents.Open oFileDialog.SelectedItems(1)
oWord.Application.Visible = True
Set odoc = oWord.ActiveDocument
odoc.Bookmarks("Name").Range.Text = Sheets("Anschreiben").Cells(z, 9) & " " & Sheets("Anschreiben").Cells(z, 10)
odoc.Bookmarks("Straße").Range.Text = Sheets("Anschreiben").Cells(z, 13)
odoc.Bookmarks("Ort").Range.Text = Sheets("Anschreiben").Cells(z, 14) & " " & Sheets("Anschreiben").Cells(z, 15)
odoc.Bookmarks("UstID").Range.Text = Sheets("Anschreiben").Cells(z, 16)

summe = 0
summe_vst = 0
t = 2
For x = 2 To last_row_a
If Sheets("Anlage").Cells(x, 4) = Sheets("Anschreiben").Cells(z, 4) Or Sheets("Anlage").Cells(x, 4) = Sheets("Anschreiben").Cells(z, 6) Then
If (t - 25) Mod 27 = 0 Or t = 25 Then
summe = summe + Round(Sheets("Anlage").Cells(x, 8), 2)
summe_vst = summe_vst + Round(Sheets("Anlage").Cells(x, 9), 2)
odoc.Tables(1).Columns(1).Cells(t).Range.Text = "Ursprüngliche Rechnungs- bzw. Gutschriftsnummer"
odoc.Tables(1).Columns(2).Cells(t).Range.Text = "Belegdatum"
odoc.Tables(1).Columns(3).Cells(t).Range.Text = "Nettobetrag"
odoc.Tables(1).Rows(t).Range.Bold = True
odoc.Tables(1).Rows(t).Select
odoc.Tables(1).Rows(t).Shading.BackgroundPatternColor = wdColorGray15
odoc.Tables(1).Rows.Add
t = t + 1
odoc.Tables(1).Rows(t).Shading.BackgroundPatternColor = wdColorAutomatic
odoc.Tables(1).Rows(t).Range.Bold = False
odoc.Tables(1).Columns(1).Cells(t).Range.Text = Sheets("Anlage").Cells(x, 5)
odoc.Tables(1).Columns(2).Cells(t).Range.Text = Sheets("Anlage").Cells(x, 6)
odoc.Tables(1).Columns(3).Cells(t).Range.Text = Format(Round(Sheets("Anlage").Cells(x, 8), 2), "##,##0.00") & " EUR"
odoc.Tables(1).Rows.Add
t = t + 1
If t = 2 Then odoc.Bookmarks("Belegdatum1").Range.Text = Sheets("Anlage").Cells(x, 6)
Else
If t = 2 Then odoc.Bookmarks("Belegdatum1").Range.Text = Sheets("Anlage").Cells(x, 6)
summe = summe + Round(Sheets("Anlage").Cells(x, 8), 2)
summe_vst = summe_vst + Round(Sheets("Anlage").Cells(x, 9), 2)
odoc.Tables(1).Columns(1).Cells(t).Range.Text = Sheets("Anlage").Cells(x, 5)
odoc.Tables(1).Columns(2).Cells(t).Range.Text = Sheets("Anlage").Cells(x, 6)
odoc.Tables(1).Columns(3).Cells(t).Range.Text = Format(Round(Sheets("Anlage").Cells(x, 8), 2), "##,##0.00") & " EUR"
odoc.Tables(1).Rows.Add
'pagecount = odoc.ComputeStatistics(wdStatisticPages)
t = t + 1
End If
End If
Next x

odoc.Bookmarks("Belegdatum2").Range.Text = Left(odoc.Tables(1).Columns(2).Cells(t - 1).Range.Text, Len(odoc.Tables(1).Columns(2).Cells(t - 1).Range.Text) - 2)
odoc.Tables(1).Columns(1).Cells(1 + t).Range.Text = "Summe"
odoc.Tables(1).Columns(1).Cells(1 + t).Range.Bold = True
odoc.Tables(1).Columns(3).Cells(1 + t).Range.Text = Format(summe, "##,##0.00")

Sheets("Auswertungen").Cells(z, 1) = Sheets("Anschreiben").Cells(z, 4)
Sheets("Auswertungen").Cells(z, 2) = Format(summe, "##,##0.00")
Sheets("Auswertungen").Cells(z, 3) = Format(summe_vst, "##,##0.00")

odoc.Tables(1).Columns(3).Cells(1 + t).Range.Bold = True
odoc.SaveAs odoc.Path & "\Berichtigungsschreiben\Anschreiben_" & Sheets("Anschreiben").Cells(z, 4) & ".doc"
odoc.Close

Next z
Set odoc = Nothing
Word.Application.Quit
Sheets("Anschreiben").Select
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
20.12.2012 14:40:16 Kiki
NotSolved
Blau Serienbrief
20.12.2012 14:55:54 Gast35443
NotSolved
20.12.2012 14:56:43 Gast21229
NotSolved