Guten Morgen Ralf,
vielen Dank schon einmal für deine Antwort. Ich werde mich dann mal mit der For-Next Schleife auseinandersetzen.
Hier ist ein Teil des Codes, den ich bislang erstellt habe. Der ist sicherlich noch stark verbesserungsfähig aber ich war schon einmal froh, das es funktioniert und das macht, was ich wollte. Es ist eine Art Reporting, um festzuhalten wie viele Mitarbeiter von Firma XY an welchem Tag da waren.
In der ersten Sub öffne ich das Word-Template und lasste allgemeines ausfüllen (nicht mit dargestellt) und dann geht es mit den Tagen-Firmen weiter. Ich habe jetzt auch nur den Montag soweit fertig und bin an dem Punkt, an dem ich mich frage, ist dass so richtig? und nicht VIEL zu umständlich? Weil es bis zu 15 Firmen pro Tag sein können.
Code:
Sub MontagFirma1()
'Bibliothek aktivieren
Dim wordapp As New Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
'Word-Datein mit Montag-Daten befüllen
Montag:
doc.Bookmarks("MontagDatum").Range.Text = Tabelle2.Cells(2, 8).Value
doc.Bookmarks("MontagTemp").Range.Text = Tabelle2.Cells(2, 9).Value
doc.Bookmarks("MontagWetter").Range.Text = Tabelle2.Cells(2, 10).Value
'Montag-Firma 1
MontagFirma1:
MoFirma1 = Tabelle2.Cells(2, 11)
If MoFirma1 > 0 Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 11).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 11).Value
Else
Call MontagFirma2
End If
Call MontagFirma2
End Sub
----------------------------------------------------------------------------
Sub MontagFirma2()
'Bibliothek aktivieren
Dim wordapp As Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
Set wordapp = Word.Application
'Montag-Firma 2
MontagFirma2:
MoFirma2 = Tabelle2.Cells(2, 13)
If MoFirma2 > 0 Then
If doc.Bookmarks.Exists("MontagFirma1") = True Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 13).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 13).Value
Else
doc.Bookmarks("MontagFirma2").Range.Text = Tabelle2.Cells(1, 13).Value
doc.Bookmarks("MontagFirma2MA").Range.Text = Tabelle2.Cells(2, 13).Value
End If
Else
Call MontagFirma3
End If
Call MontagFirma3
End Sub
----------------------------------------------------------------------------
Sub MontagFirma3()
'Bibliothek aktivieren
Dim wordapp As Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
Set wordapp = Word.Application
'Montag-Firma 3
MontagFirma3:
MoFirma3 = Tabelle2.Cells(2, 15)
If MoFirma3 > 0 Then
If doc.Bookmarks.Exists("MontagFirma1") = True Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 15).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 15).Value
Else
If doc.Bookmarks.Exists("MontagFirma2") = True Then
doc.Bookmarks("MontagFirma2").Range.Text = Tabelle2.Cells(1, 15).Value
doc.Bookmarks("MontagFirma2MA").Range.Text = Tabelle2.Cells(2, 15).Value
Else
doc.Bookmarks("MontagFirma3").Range.Text = Tabelle2.Cells(1, 15).Value
doc.Bookmarks("MontagFirma3MA").Range.Text = Tabelle2.Cells(2, 15).Value
End If
End If
Else
Call MontagFirma4
End If
Call MontagFirma4
End Sub
----------------------------------------------------------------------------
Sub MontagFirma4()
'Bibliothek aktivieren
Dim wordapp As Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
Set wordapp = Word.Application
'Montag-Firma 4
MontagFirma4:
MoFirma4 = Tabelle2.Cells(2, 17)
If MoFirma4 > 0 Then
If doc.Bookmarks.Exists("MontagFirma1") = True Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 17).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 17).Value
Else
If doc.Bookmarks.Exists("MontagFirma2") = True Then
doc.Bookmarks("MontagFirma2").Range.Text = Tabelle2.Cells(1, 17).Value
doc.Bookmarks("MontagFirma2MA").Range.Text = Tabelle2.Cells(2, 17).Value
Else
If doc.Bookmarks.Exists("MontagFirma2") = True Then
doc.Bookmarks("MontagFirma3").Range.Text = Tabelle2.Cells(1, 17).Value
doc.Bookmarks("MontagFirma3MA").Range.Text = Tabelle2.Cells(2, 17).Value
Else
doc.Bookmarks("MontagFirma4").Range.Text = Tabelle2.Cells(1, 17).Value
doc.Bookmarks("MontagFirma4MA").Range.Text = Tabelle2.Cells(2, 17).Value
End If
End If
End If
Else
Call MontagFirma5
End If
Call MontagFirma5
End Sub
----------------------------------------------------------------------------
Sub MontagFirma5()
'Bibliothek aktivieren
Dim wordapp As Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
Set wordapp = Word.Application
'Montag-Firma 5
MontagFirma5:
MoFirma5 = Tabelle2.Cells(2, 19)
If MoFirma5 > 0 Then
If doc.Bookmarks.Exists("MontagFirma1") = True Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 19).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 19).Value
Else
If doc.Bookmarks.Exists("MontagFirma2") = True Then
doc.Bookmarks("MontagFirma2").Range.Text = Tabelle2.Cells(1, 19).Value
doc.Bookmarks("MontagFirma2MA").Range.Text = Tabelle2.Cells(2, 19).Value
Else
If doc.Bookmarks.Exists("MontagFirma3") = True Then
doc.Bookmarks("MontagFirma3").Range.Text = Tabelle2.Cells(1, 19).Value
doc.Bookmarks("MontagFirma3MA").Range.Text = Tabelle2.Cells(2, 19).Value
Else
If doc.Bookmarks.Exists("MontagFirma4") = True Then
doc.Bookmarks("MontagFirma4").Range.Text = Tabelle2.Cells(1, 19).Value
doc.Bookmarks("MontagFirma4MA").Range.Text = Tabelle2.Cells(2, 19).Value
Else
doc.Bookmarks("MontagFirma5").Range.Text = Tabelle2.Cells(1, 19).Value
doc.Bookmarks("MontagFirma5MA").Range.Text = Tabelle2.Cells(2, 19).Value
End If
End If
End If
End If
Else
Call MontagFirma6
End If
Call MontagFirma6
End Sub
----------------------------------------------------------------------------
Sub MontagFirma6()
'Bibliothek aktivieren
Dim wordapp As Word.Application
Dim doc As Word.Document
'aktiviere Worddokument
Set doc = ActiveDocument
Set wordapp = Word.Application
'Montag-Firma 6
MontagFirma6:
MoFirma6 = Tabelle2.Cells(2, 21)
If MoFirma6 > 0 Then
If doc.Bookmarks.Exists("MontagFirma1") = True Then
doc.Bookmarks("MontagFirma1").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma1MA").Range.Text = Tabelle2.Cells(2, 21).Value
Else
If doc.Bookmarks.Exists("MontagFirma2") = True Then
doc.Bookmarks("MontagFirma2").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma2MA").Range.Text = Tabelle2.Cells(2, 21).Value
Else
If doc.Bookmarks.Exists("MontagFirma3") = True Then
doc.Bookmarks("MontagFirma3").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma3MA").Range.Text = Tabelle2.Cells(2, 21).Value
Else
If doc.Bookmarks.Exists("MontagFirma4") = True Then
doc.Bookmarks("MontagFirma4").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma4MA").Range.Text = Tabelle2.Cells(2, 21).Value
Else
If doc.Bookmarks.Exists("MontagFirma5") = True Then
doc.Bookmarks("MontagFirma5").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma5MA").Range.Text = Tabelle2.Cells(2, 21).Value
Else
doc.Bookmarks("MontagFirma6").Range.Text = Tabelle2.Cells(1, 21).Value
doc.Bookmarks("MontagFirma6MA").Range.Text = Tabelle2.Cells(2, 21).Value
End If
End If
End If
End If
End If
Else
Call MontagFirma7
End If
Call MontagFirma7
End Sub
.
.
.
Eine weitere Baustelle ist es später, dass ich die Infos nicht immer aus der Daten-Excel Tabelle auf das Tabellen-Blatt 2 kopieren muss, sondern die Excel-Datei vielleicht mit einem Auswahlfenster auswählen kann. Und dann habe ich nur die Excel-Datei in der das VBA-Skript mit allgemeinen Daten befüllt ist und die Firmen-Daten aus der zweiten Excel-Datei kommen. Aber das ist dann eine andere Baustelle.
Gruß
Angelo
|