Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte kopieren, pdf speichern und widerh

Werte kopieren, pdf speichern und widerh
21.11.2022 22:38:50
KevKiel
Hallo Zusammen,
ich habe in einer Exceldatei zwei Tabellenblätter:
"Whg" --> Hier liegen im Bereich A2:A10 9 verschiedene Kostenstellen
"Betriebskostenabrechnung" --> Hier ist ein Bericht (Anzeige von Planwerten Umsatz/Ertrag etc.) welche sich nach der WohnungsNr als Kriterium verändern. Die Daten dazu liegen in einer Datenbank. Ein kopieren der Nr reicht, damit sich die Werte verändern.
Per "Knopfdruck" soll nacheinander für jede Wohnungsnummer die Werte ermittelt werden und der Tabellenreiter "Betriebskostenabrechnung" als pdf gedruckt werden.
Soweit so schwer.
Ich bin in VBA grob so vorgegangen:
Schleife, wenn die Kostenstelle Whg.A2 mit dem Kriterium Betriebskostenabrechnung.B2 übereinstimmt, drucke das pdf. Danach nehme Whg.A3 und kopiere das nach Betriebskostenabrechnung.B2. Danach wieder Druck des pdf. Die Dateinamen orientieren sich am Kriterium.
Das Skript bricht leider an verschiedenen Stellen ab (Mal Laufzeitfehler 9 mal öffnet er eine neue Exceldatei mit den Werten, welche er eigentlich als pdf abspeichern soll).
Ich habe dazu ein VBA Skript gebastelt:

Sub Kriterien_tauschen()
Dim WohnungsNrAktuell, WohnungsNrVorher As Long
Dim ZeileListe, ZeileVerteilung As Long
Dim SpalteVerteiler As Long
Dim BlattAbr, BlattWhg As String
Dim KritDruck As Long
Dim ZeileKrit, SpalteKrit As Long
BlattAbr = "Betriebskostenabrechnung"
BlattWhg = "Whg"
ZeileVerteilung = 2
SpalteVerteiler = 1
ZeileKrit = 2
SpalteKrit = 2
WohnungsNrVorher = Sheets(BlattWhg).Cells(ZeileVerteilung, SpalteVerteiler)
WohnungsNrAktuell = 0
For ZeileListe = ZeileVerteilung To FLZ(BlattWhg)
'was ist die Wohnungsnummer der aktuellen Zeile?
WohnungsNrAktuell = Sheets(BlattAbr).Cells(ZeileKrit, SpalteKrit)
'wenn die Wohnungsnummer der Wohnungsnummer aus der vorherigen Zeile entspricht, dann aus Liste kopieren und in WohnungsNraktuell einfügen
If WohnungsNrAktuell = WohnungsNrVorher Then
Sheets(BlattAbr).Cells(ZeileKrit, SpalteKrit).Value = Sheets(BlattWhg).Cells(ZeileVerteilung, SpalteVerteiler).Value
'Variable für "Zeilenvorschub" auf BlattWhg erhöhen
ZeileVerteilung = ZeileVerteilung + 1
Else
Call Pdf_Druck
Sheets(BlattAbr).Cells(ZeileKrit, SpalteKrit).Value = Sheets(BlattWhg).Cells(ZeileVerteilung, SpalteVerteiler).Value
'Variable für "Zeilenvorschub" erhöhen
ZeileVerteilung = ZeileVerteilung + 1
End If
WohnungsNrAktuell = WohnungsNrVorher
Next ZeileListe
Call Pdf_Druck
MsgBox ("Vorgang abgeschlossen")
End Sub
Public Sub Pdf_Druck()
Dim Dateiname As String
Dim BlattAbr2 As String
BlattAbr2 = "Betriebskostenabrechnung"
'I2 = Pfad; I4 = Dateiname; I5 = Jahr; B2 = Wohnungsnummer
Dateiname = Range("I2") & Range("I4") & "_" & Range("I5") & "_" & Range("B2") & ".pdf"
Range("E8:P78").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dateiname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
Public Function FLZ(BlattWhg)
'Hier wird die letzte Zeile ermittelt
Dim LetzteZeile
FLZ = Sheets(BlattWhg).UsedRange.SpecialCells(xlCellTypeLastCell).Row
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte kopieren, pdf speichern und widerh
21.11.2022 23:07:29
KevKiel
Hallo, dass war mir nicht bewusst. Ich nutze tatsächlich das erste mal ein Forum für die Aufgabenlösung. Ich konnte in dem anderen Forum keine Bilder hochladen... Und hier scheitere ich auch schon wieder daran...
Anzeige
AW: Werte kopieren, pdf speichern und widerh
23.11.2022 12:01:04
Pierre
Hallo,
du sollst auch keine Bilder hochladen (weder hier, noch im anderen Forum), sondern eine Datei inkl. Makro...
Hier: Über dem Antwortfeld, ganz rechts "Zum File-Upload" anklicken und machen, was dort steht.
Gruß Pierre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige