Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

Probleme mit Code

Probleme mit Code
30.03.2020 16:47:28
Tommy
Hallo
ich möchte mit folgendem Code folgendes bezwecken:
Ich habe zwei Tabellenblättern die Anzahl der beschriebenen Zeilen variiert.
Ich möchte beide Tabellenblätter, bis zur letzten beschriebenen Zeile in ein PDF und auf dem Laufwerk speichern.
Daniel hatte mir schon versucht zu helfen, doch leider ist der Beitrag nach unten gerutscht.
Ich selbst habe wenig Ahnung von VBA und bin daher auf Euch angewiesen.
Der Code bleibt bei a = hängen, Variable nicht definiert.
Ich weiss aber auch nicht, ob der Code genau das macht was er soll, habe ihn im Netz gefunden.
Das ist das letzte was mir noch fehlt......
Hier mal der Code
Private Sub cmdOK_Click()
Dim i As Integer
Dim z As Integer
Dim wksQuelle As Worksheet
Set wksQuelle = Sheets("Fahrzeugbegleitkarte")
Range("A1").Select  'Startposition angeben
Selection.Name = "aErsteZeile"
For z = wksQuelle.Range("aErsteZeile").Row To 6000  'letzte Zeile anpassen
If Cells(z, 1).Value  0 Then
Cells(z, 1).Name = "aLetzteZeile"
End If
Next
Range(Cells(2, 1), Cells(Range("aLetzteZeile").Row, 1)).Select 'anstelle von 20, deine letzte  _
Spalte
Selection.Name = "Druckbereich1"
Set wksQuelle = Sheets("Fahrzeugbegleitkarte2")
Range("A1").Select  'Startposition angeben
Selection.Name = "aErsteZeile"
For z = wksQuelle.Range("aErsteZeile").Row To 6000  'letzte Zeile anpassen
If Cells(z, 1).Value  0 Then
Cells(z, 1).Name = "aLetzteZeile"
End If
Next
Range(Cells(2, 1), Cells(Range("aLetzteZeile").Row, 1)).Select 'anstelle von 20, deine letzte  _
Spalte
Selection.Name = "Druckbereich2"
Set a = Range("Druckbereich1")
Set b = Range("Druckbereich2")
Druckbereich = Range(a, b)
ActiveSheet.PageSetup.PrintArea = Druckbereich
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"U:\Groups\130_EBW_B\VMK-INFO\karten\begleitkarten\" & Worksheets("Begleitkarte"). _
Range("P17") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Code
30.03.2020 17:01:18
Regina
Hi, was auf jeden Fall schon mal fehlt ist:

Dim a as Range
Dim b as Range

Gruß Regina
AW: Probleme mit Code
30.03.2020 17:06:39
onur
Aber was
Druckbereich = Range(a, b)

sein soll, ist mir schleierhaft.
AW: Probleme mit Code
30.03.2020 17:34:02
Tommy
Ich habe keine Ahnung, ich würde ja auch einen anderen Code nehmen, aber wenn man nicht so recht ein Plan hat....
Gibt es denn noch eine andere Idee?
Als ich nur ein Tabellenblatt angesprochen hatte, lief es mit:
Kann man das auf beide erweitern?
Private Sub cmdOK_Click()
Dim LoI As Long                                 ' Schleifenvariable
Dim LoLetzte As Long                            ' Variable für letzte Zeile
' letzte Zeile unabhängig von Excelversion für Spalte I (9)
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
For LoI = LoLetzte To 2 Step -1
If Cells(LoI, 1)  Empty Then Exit For
Next LoI
' Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & LoI
End Sub

Anzeige
Nein, Druckbereich bezieht sich nur auf...
30.03.2020 18:11:13
EtoPHG
genau ein Tabellenblatt. Er kann nicht Tabellenübergreifend definiert werden, Tommy.
Gruess Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige