Hallo zusammen,
ich habe einen Code geschrieben, aber leider komme ich nicht weiter. Ich habe zwei Datenblätter. Ich möchte aus den Tabellenblatt 1, Werte aus einer Zeile entnehmen und in das Tabellenblatt 2 in vorbestimmte Zellen einsetzen. Daraufhin soll ein PDF erstellt werden. Aus dem Tabellenblatt 1 soll dann die Werte aus der nächsten Zeile kopiert werden und in Tabellenblatt 2 in die vorbestimmten Zellen eingesetzt und erneut ein weiteres PDF erstellt werden. Das soll solange erfolgen, bis keine Werte mehr im Tabellenblatt 1 A und B vorhanden sind.
Konkretes Beispiel:
Tabellenblatt 1 enthält
Zeile |
Spalte A |
Spalte B |
1 |
123 |
abc |
2 |
456 |
def |
3 |
789 |
ghi |
Tabellenblatt 2 enthält
Zeile |
Spalte H |
12 |
123 (Input aus Tabellenblatt 1, A1) |
13 |
abc (Input aus Tabellenblatt 1, B1) |
Sub ErstellePDF2()
Dim wb As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Dim i As Long
Dim rowH As Long
'Setze die Arbeitsmappen- und Tabellenblatt-Referenzen
Set wb = ThisWorkbook
Set ws1 = wb.Sheets("Tabellenblatt 1")
Set ws2 = wb.Sheets("Tabellenblatt 2")
'Finde die letzte Zeile in Spalte A des Tabellenblatts 1
lastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
'Setze die Startzeile für H12 und H13 in Tabellenblatt 2
rowH = 12
'Schleife zum Durchlaufen der Zeilen in Tabellenblatt 1
For i = 2 To lastRow
'Überprüfe, ob der Wert in Spalte A 0 ist
If ws1.Cells(i, "A").Value = 0 Then
Exit For 'Beende die Schleife, wenn der Wert 0 ist
Else
'Kopiere den Wert aus Spalte A in Tabellenblatt 2, Zelle H12
ws2.Cells(rowH, "H").Value = ws1.Cells(i, "A").Value
'Kopiere den Wert aus Spalte B in Tabellenblatt 2, Zelle H13
ws2.Cells(rowH + 1, "H").Value = ws1.Cells(i, "B").Value
'Erstelle das PDF aus Tabellenblatt 2 mit dem angegebenen Dateinamen
ws2.ExportAsFixedFormat Type:=xlTypePDF, fileName:="Pfad\" & Range("V5") & ".pdf", Quality:=xlQualityStandard
End If
Next i
'Optional: Schließe das Tabellenblatt 2, wenn es nicht mehr benötigt wird
'wb.Sheets("Tabellenblatt2").Visible = False
End Sub