ich möchte Eigenbelege für die Buchhaltung automatisiert erstellen.
Dazu habe ich eine Vorlage "Eigenbeleg.xlsm" erstellt. Diese soll aus der ersten Zeile (3) der Datentabelle "OPOS2020_Test.xlsm" befüllt werden, anschließend als PDF gespeichert werden. Dies soll solange passieren, bis die letzte Zeile (erste leere Zeile) erreicht ist.
Der Name der PDF soll sich zusammensetzen aus der Eigenbelegsnummer (Eigenbeleg.Range("C1")), dem Empfänger (Eigenbeleg.Range("C4") und dem Verwendungszweck (Eigenbeleg.Range("C5").
Ich habe das mir aus verschiedenen Beiträgen zusammengeklaubt. Allerdings bekomme ich nun die Meldung: Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden.
Dabei markiert er mir die dritte Zeile: Public Sub EigenbelegAnders() gelb
Ich habe bereits versucht Private Sub und nur Sub zu schreiben, das Problem bleibt unverändert. Auch bei Verweisen ist Microsoft Office Object Library, Ole Automation, Microsoft Excel Object Library markiert. Ich habe außerdem bereits versucht eine neue Tabelle zu erstellen und den Code darauf anzupassen. Allerdings leider alles erfolglos. Warum möchte es nicht mehr laufen? Könnt ihr mir bitte helfen?
Das ist mein Code:
Option Explicit
Public Sub EigenbelegAnders()
'Variablen definieren
Dim Eigenbeleg As Worksheet
Dim Opos As Worksheet
Dim Zeilenzähler As Integer
Dim Filename As String
'Tabellen definieren
Set Opos = Workbooks("OPOS2020_Test.xlsm").Worksheets("Opos")
Set Eigenbeleg = Workbooks("Eigenbeleg.xl.xlsm").Worksheets("Tabelle1")
If Zeilenzähler 0 Then
Else
Zeilenzähler = 3
End If
'Kontrolle ob Zeile nicht leer ist
If Opos.Cells(Zeilenzähler, 1) "" Then
'Kopieren und einfügen
Opos.Range("A" & Zeilenzähler).Copy _
Eigenbeleg.Range("C1")
Opos.Range("C" & Zeilenzähler).Copy _
Eigenbeleg.Range("C2")
Opos.Range("E" & Zeilenzähler).Copy _
Eigenbeleg.Range("C4")
Opos.Range("G" & Zeilenzähler).Copy _
Eigenbeleg.Range("C5")
Opos.Range("H" & Zeilenzähler).Copy _
Eigenbeleg.Range("C3")
'ChDir "C:\Users\H E R B E R T\Downloads\EigenbelegePDF\"
Eigenbeleg.Sheets("Tabelle1").ExportAsFixedFormat Type:=xlTypePDF _
, Filename:="C:\Users\H E R B E R T\Downloads\EigenbelegePDF\Eigenbeleg"
& Sheets("Tabelle1").Range("C1").Text _
& Sheets("Tabelle1").Range("C4").Text _
& Sheets("Tabelle1").Range("C5").Text _
& ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
Zeilenzähler = Zeilenzähler + 1
End If
End Sub