AW: Text als Vorschau in UserBox ausgeben
18.04.2018 16:21:24
Zeile94
Hallo Nepumuk,
leider weiß ich nicht, was Du mit den Word-Dokumenten meinst.
Der Code zum Übernehmen der Werte aus Excel (bzw. der programmierten UserForm) in ein neues Word-Dokument, welches auf Basis einer Vorlage geöffnet wird, lautet wie folgt:
Private Sub CommandButtonAusführen_Click()
'Neue Zeile 2 für Eintrag
Rows("2:2").Select
Selection.Insert Shift:=xlDown
'Neue Werte in Zeile 2 eintragen (Anfügung: Zeile 1 sind logischerweise die Spaltentitel)
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(2, 1).Value = UserForm1.KomboboxAnrede
ActiveSheet.Cells(2, 2).Value = UserForm1.TextVorname
ActiveSheet.Cells(2, 3).Value = UserForm1.TextNachname
ActiveSheet.Cells(2, 4).Value = UserForm1.TextGeburtstag
ActiveSheet.Cells(2, 5).Value = UserForm1.TextGeburtsort
ActiveSheet.Cells(2, 6).Value = UserForm1.KomboboxZeugnisart
ActiveSheet.Cells(2, 7).Value = UserForm1.TextEintritt
ActiveSheet.Cells(2, 8).Value = UserForm1.TextAustritt
ActiveSheet.Cells(2, 9).Value = UserForm1.TextAktPosition
ActiveSheet.Cells(2, 10).Value = UserForm1.TextVorherigePosition
ActiveSheet.Cells(2, 11).Value = UserForm1.TextBeförderungsdatum
ActiveSheet.Cells(2, 12).Value = UserForm1.KomboboxAusstellungsgrund
' Werte der Komboboxen
If KomboboxFachwissenSchulnote.Value = "Note 1" And KomboboxFachwissenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 13).Value = "11"
If KomboboxFachwissenSchulnote.Value = "Note 1" And KomboboxFachwissenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 13).Value = "12"
If KomboboxFachwissenSchulnote.Value = "Note 2" And KomboboxFachwissenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 13).Value = "21"
If KomboboxFachwissenSchulnote.Value = "Note 2" And KomboboxFachwissenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 13).Value = "22"
If KomboboxFachwissenSchulnote.Value = "Note 3" And KomboboxFachwissenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 13).Value = "31"
If KomboboxFachwissenSchulnote.Value = "Note 3" And KomboboxFachwissenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 13).Value = "32"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 1" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 1" Then ActiveSheet.Cells(2, 14).Value = "11"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 1" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 2" Then ActiveSheet.Cells(2, 14).Value = "12"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 2" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 1" Then ActiveSheet.Cells(2, 14).Value = "21"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 2" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 2" Then ActiveSheet.Cells(2, 14).Value = "22"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 3" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 1" Then ActiveSheet.Cells(2, 14).Value = "31"
If KomboboxLeistungsbereitschaftSchulnote.Value = "Note 3" And _
KomboboxLeistungsbereitschaftVariante.Value = "Variante 2" Then ActiveSheet.Cells(2, 14).Value = "32"
If KomboboxArbeitsweiseSchulnote.Value = "Note 1" And KomboboxArbeitsweiseVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 15).Value = "11"
If KomboboxArbeitsweiseSchulnote.Value = "Note 1" And KomboboxArbeitsweiseVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 15).Value = "12"
If KomboboxArbeitsweiseSchulnote.Value = "Note 2" And KomboboxArbeitsweiseVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 15).Value = "21"
If KomboboxArbeitsweiseSchulnote.Value = "Note 2" And KomboboxArbeitsweiseVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 15).Value = "22"
If KomboboxArbeitsweiseSchulnote.Value = "Note 3" And KomboboxArbeitsweiseVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 16).Value = "31"
If KomboboxArbeitsweiseSchulnote.Value = "Note 3" And KomboboxArbeitsweiseVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 16).Value = "32"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 1" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 16).Value = "11"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 1" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 16).Value = "12"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 2" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 16).Value = "21"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 2" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 16).Value = "22"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 3" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 16).Value = "31"
If KomboboxArbeitsqualitätSchulnote.Value = "Note 3" And KomboboxArbeitsqualitätVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 16).Value = "32"
If KomboboxVerhaltenSchulnote.Value = "Note 1" And KomboboxVerhaltenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 17).Value = "11"
If KomboboxVerhaltenSchulnote.Value = "Note 1" And KomboboxVerhaltenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 17).Value = "12"
If KomboboxVerhaltenSchulnote.Value = "Note 2" And KomboboxVerhaltenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 17).Value = "21"
If KomboboxVerhaltenSchulnote.Value = "Note 2" And KomboboxVerhaltenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 17).Value = "22"
If KomboboxVerhaltenSchulnote.Value = "Note 3" And KomboboxVerhaltenVariante.Value = " _
Variante 1" Then ActiveSheet.Cells(2, 17).Value = "31"
If KomboboxVerhaltenSchulnote.Value = "Note 3" And KomboboxVerhaltenVariante.Value = " _
Variante 2" Then ActiveSheet.Cells(2, 17).Value = "32"
If KomboboxAbschiedsformelSchulnote.Value = "Note 1" And KomboboxAbschiedsformelVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 18).Value = "11"
If KomboboxAbschiedsformelSchulnote.Value = "Note 1" And KomboboxAbschiedsformelVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 18).Value = "12"
If KomboboxAbschiedsformelSchulnote.Value = "Note 2" And KomboboxAbschiedsformelVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 18).Value = "21"
If KomboboxAbschiedsformelSchulnote.Value = "Note 2" And KomboboxAbschiedsformelVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 18).Value = "22"
If KomboboxAbschiedsformelSchulnote.Value = "Note 3" And KomboboxAbschiedsformelVariante. _
Value = "Variante 1" Then ActiveSheet.Cells(2, 18).Value = "31"
If KomboboxAbschiedsformelSchulnote.Value = "Note 3" And KomboboxAbschiedsformelVariante. _
Value = "Variante 2" Then ActiveSheet.Cells(2, 18).Value = "32"
ActiveSheet.Cells(2, 19).Value = UserForm1.KomboboxPersonalverantwortung
ActiveSheet.Cells(2, 20).Value = UserForm1.TextVorgesetzter1
ActiveSheet.Cells(2, 21).Value = UserForm1.TextPositionV1
ActiveSheet.Cells(2, 22).Value = UserForm1.TextVorgesetzter2
ActiveSheet.Cells(2, 23).Value = UserForm1.TextPositionV2
ActiveSheet.Cells(2, 24).Value = UserForm1.TextUnterschriftsdatum
'Generierung des Arbeitszeugnisses aus Vorlage
Dim objWord As Object
Dim strPfad As String
strPfad = "......\18_Arbeitszeugnisgenerator.docx"
Set objWord = CreateObject("Word.Application")
With objWord
.Application.Visible = True
.Application.Documents.Add (strPfad)
.ActiveDocument.Fields.Update
End With
Set objWord = Nothing
End Sub
Die einzelnen Komboboxen, insbesondere der einzelnen zu beurteilenden Skills sind wie folgt programmiert:
Private Sub UserForm_Initialize()
With UserForm1.KomboboxFachwissenSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxLeistungsbereitschaftSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxArbeitsweiseSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxArbeitsqualitätSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxVerhaltenSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxAbschiedsformelSchulnote
.AddItem "Note 1"
.AddItem "Note 2"
.AddItem "Note 3"
End With
With UserForm1.KomboboxFachwissenVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxLeistungsbereitschaftVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxArbeitsweiseVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxArbeitsqualitätVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxVerhaltenVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxAbschiedsformelVariante
.AddItem "Variante 1"
.AddItem "Variante 2"
End With
With UserForm1.KomboboxPersonalverantwortung
.AddItem "nein"
.AddItem "ja"
End With
UserForm1.KomboboxFachwissenSchulnote.Value = "Note"
UserForm1.KomboboxLeistungsbereitschaftSchulnote.Value = "Note"
UserForm1.KomboboxArbeitsweiseSchulnote.Value = "Note"
UserForm1.KomboboxArbeitsqualitätSchulnote.Value = "Note"
UserForm1.KomboboxVerhaltenSchulnote.Value = "Note"
UserForm1.KomboboxAbschiedsformelSchulnote.Value = "Note"
UserForm1.KomboboxFachwissenVariante.Value = "Variante"
UserForm1.KomboboxLeistungsbereitschaftVariante.Value = "Variante"
UserForm1.KomboboxArbeitsweiseVariante.Value = "Variante"
UserForm1.KomboboxArbeitsqualitätVariante.Value = "Variante"
UserForm1.KomboboxVerhaltenVariante.Value = "Variante"
UserForm1.KomboboxAbschiedsformelVariante.Value = "Variante"
End Sub
Die Word-Datei ist mit den Mergefeldern ausgestatten, die die jeweiligen Werte der Excel-Tabelle der Zeile 2 übernehmen und je nachdem, welcher Wert z.B. bei Fachwissen hinterlegt ist, den entsprechenden Text ausgibt (für Fachwissen = Note 1 und Variante 1 = "11" = Herr Mustermann verfügt über ein äußerst hervorragendes und auch in Randbereichen sehr tiefgehendes Fachwissen, welches er in unserem Unternehmen stets in höchst gewinnbringender Weise einbringt. Auch erweitert und aktualisiert er seine Fachkenntnisse stets mit sehr großem Erfolg durch regelmäßige Teilnahme an Weiterbildungsveranstaltungen zum Nutzen unseres Unternehmens.)
Liebe Grüße
Zeile94