Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Sub oder Function nicht definiert / Fehlerlösung gesucht

Forumthread: Sub oder Function nicht definiert / Fehlerlösung gesucht

Sub oder Function nicht definiert / Fehlerlösung gesucht
22.09.2025 19:16:29
Sebastian
Hallo zusammen,

vorausschicken möchte ich, dass absoluter VBA-Anfänger bin. Aus einem anderen sehr vergleichbaren Programmcode habe ich folgenden Code entnommen und angepasst. Leider kommt, wenn ich den Code ausführe folgende Fehlermeldung: Fehler beim Kompilieren - Sub oder Function nicht definiert

Der u.a. Code steht in einem Modul.
Eine Userform (Commandbutton_Click) soll den Code ausführen.

Ich weiß nicht mehr weiter. Kann mir jemand helfen?

********
Public MSWord_Anschreiben As Object ' Bereitet ein Word-Objekt vor
Sub Rückforderungsschreiben_erstellen()

Set MSWord_Anschreiben = CreateObject("Word.Application") ' Erstellt einen Verweis auf das Word-AcitiveX-Objekt
MSWord_Anschreiben.Visible = True: MSWord_Anschreiben.WindowState = wdWindowStateMaximize ' Wenn Word sichtbar sein soll, diese Option benutzen.

Dim Datei_Vorlage As String


Datei_Vorlage = ActiveWorkbook.Path & "\Vorlagen\Vorlage_Urlaubsverfall Rückforderung UG.dotx"


MSWord_Anschreiben.Documents.Open Filename:=Datei_Vorlage, ReadOnly:=True
'MSWord_Anschreiben.Documents.Open (Datei_Vorlage) ' Worddatei erstellen


word_export_MSW "Anspruch", Worksheets("Berechnungsgrundlagen").Range("B19"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Bankinstitut", Worksheets("Berechnungsgrundlagen").Range("B31"), MSWord_Anschreiben
word_export_MSW "Datum", Worksheets("Berechnungsgrundlagen").Range("B11"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Datum_Beginn", Worksheets("Berechnungsgrundlagen").Range("B13"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Firma", Worksheets("Berechnungsgrundlagen").Range("B5"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "geehrt", Worksheets("Berechnungsgrundlagen").Range("B23"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Herrn", Worksheets("Berechnungsgrundlagen").Range("B22"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "IBAN", Worksheets("Berechnungsgrundlagen").Range("B32"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Jahr", Worksheets("Berechnungsgrundlagen").Range("B27"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Nachname", Worksheets("Berechnungsgrundlagen").Range("B3"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Ort", Worksheets("Berechnungsgrundlagen").Range("B26"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Personalnummer", Worksheets("Berechnungsgrundlagen").Range("B2"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "PLZ", Worksheets("Berechnungsgrundlagen").Range("B25"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Straße", Worksheets("Berechnungsgrundlagen").Range("B24"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Tage_erhalten", Worksheets("Berechnungsgrundlagen").Range("B20"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Tage_zuviel", Worksheets("Berechnungsgrundlagen").Range("B30"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Vorname", Worksheets("Berechnungsgrundlagen").Range("B4"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Übertragungsfrist", Worksheets("Berechnungsgrundlagen").Range("B29"), "Anschreiben Standard", MSWord_Anschreiben
word_export_MSW "Übertragungsjahr", Worksheets("Berechnungsgrundlagen").Range("B28"), "Anschreiben Standard", MSWord_Anschreiben

If MSWord_Anschreiben.ActiveWindow.View.SplitSpecial = wdPaneNone Then
MSWord_Anschreiben.ActiveWindow.ActivePane.View.Type = wdPrintView
Else
MSWord_Anschreiben.ActiveWindow.View.Type = wdPrintView
End If

Dim Datei_Ausgabe As String
Datei_Ausgabe = ActiveWorkbook.Path & "\WordTest.doc"

'MSWord.ActiveDocument.SaveAs Datei_Ausgabe ' Dokument abspeichern
'MSWord.ActiveDocument.Close ' Dokument schließen

'MSWord.Quit ' Word schliessen
Set MSWord_Anschreiben = Nothing ' ActiveX-Verweis entfernen
End Sub
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub oder Function nicht definiert / Fehlerlösung gesucht
22.09.2025 19:33:10
daniel
Hi

schwer zu sagen, da da deine Informationen nur unvollständig sind.
wir wissen nicht, wo du das Makro platziert hast und wie du es aufrufst.
wir wissen auch nicht, ob der Fehler schon in der Userform passiert oder erst im Makro, dass aufgerufen wird.

nachdem, was du uns gezeigt hast, könnte das Problem sein, dass du das Makro word_export_MSW noch nicht erstellt oder übernommen hast und deswegen der Fehler erscheint.

Gruß Daniel
Anzeige
AW: Sub oder Function nicht definiert / Fehlerlösung gesucht
22.09.2025 21:36:10
xlKing
Hi,
zunächst mal fehlt in Zeile 2 des großen Blocks (also für B31) der dritte Parameter ("Anschreiben Standard"), womit das für den vierten Parameter vorgesehene Objekt MSWord_Anschreiben an dritte Stelle rutscht. Sofern der vierte Parameter nicht optional ist, müsste hier bereits ein entsprechender Kompilierfehler kommen.

Wie und wo hast du denn die Sub word_export_MSW definiert? Wenn die im Userform steht und den Modifizierer Private hat ist die Sub für das externe Modul nicht existent. Hat sie hingegen den Modifizierer Public dann musst du das Userform zuvor mit angeben. Also z.B. Userfor1.word_export_MSW Parameter1, 2, 3 und 4.

Gruß Mr. K.


Anzeige

Forumthreads zu verwandten Themen