Hi,
ich bin gerade beim Versuch ein Programm auf meine Anforderungen umzuschreiben. Es handelt sich um Excel.
Ich moechte, dass auf Knopfdruck auf sheet(2) gewechselt wird und danach alle Rechtecke gezaehlt werden.
Das sich am weitesten rechts befindliche Rechteck soll die zu druckenden Seiten vorgeben.
Damit meine ich, dass wenn zum Beispiel auf Seite 3 das am weitesten rechts befindliche Rechteck ist, 3 Seiten gedruckt werden sollen.
Prinzipiell wird das zwar automatisch gemacht, da mein Programm jedoch noch andere Beschriftung sowie Hintergrundfarben hat, will excel immer 10 Seiten drucken, auch wenn wie im Beispiel nur 3 notwendig sind.
Hier mal der code, der wie gesagt nicht genau auf meine Anforderungen abgestimmt ist. Kann leider nicht genuegend VBA um mir dies hier alles selbst zu beantworten:
Sub Printbutton()
Dim sh As Worksheet
Dim arySheets() As String
Dim p As Long
Dim LastSheet As Long
With ActiveWorkbook
ReDim arySheets(1 To .Worksheets.Count)
For Each sh In .Worksheets
p = p + 1
arySheets(p) = sh.Name
If sh.Shapes.Count \> 0 Then
LastSheet = p
End If
Next sh
If LastSheet \> 0 Then
ReDim Preserve arySheets(1 To LastSheet)
Worksheets(arySheets).PrintPreview
End If
End With
End Sub
was ich mir vorstellen kann ist, dass auf sheet(2) gewechselt wird, der code durchlaufen wird, alles was sich rechts vom letzten Rechteck befindet geloescht wird und in Printpreview modus gegangen wird.
Danke schonmal fuer die Hilfe. Weiss es echt zu schaetzen.
Peter
[MOD] - Pre-Tag eingefügt.