AW: Seiten ein- bzw ausblenden
30.10.2014 15:53:52
fcs
Hallo Jochen,
probiere mal folgendes.
Soweit freie Zeilen vorhanden sind wird der Unterschriftenbereich unten auf der letzten Seite angezeigt,
Gruß
Franz
' Eingabe Zeilen für Maste ausblenden
Private Sub SpinButton1_SpinUp()
Call SeiteAusblenden
End Sub
' Eingabe Zeilen für Maste einblenden
Private Sub SpinButton1_SpinDown()
Call SeiteEinblenden
End Sub
Sub SeiteEinblenden()
'Blendet nach der letzten benutzten Zeile in Spalte E eine leere Seite ein
Dim Zeile_E As Long, Seite As Long
Dim Zeile1 As Long, Zeile2 As Long, Zeile3 As Long
Zeile1 = 22
Zeile3 = 1127
'ActiveSheet.Unprotect
Application.ScreenUpdating = False
Rows.Hidden = False
Zeile_E = IIf(Cells(Zeile3, 5) "", Zeile3, Cells(Zeile3 + 1, 5).End(xlUp).Row)
If Zeile_E > Zeile3 - 28 Then
Seite = 1 + Application.WorksheetFunction.RoundUp((Zeile_E - 45) / 31, 0)
'do nothing (alle eingeblendet)
ElseIf Zeile_E = 46 - 3, 0, 3)
Range(Rows(Zeile2), Rows(Zeile3)).EntireRow.Hidden = True
Else
Seite = 1 + Application.WorksheetFunction.RoundUp((Zeile_E - 45) / 31, 0) + 1
Zeile2 = 46 + (Seite - 1) * 31 - IIf(Zeile_E >= 46 + (Seite - 1) * 31 - 3, 0, 3)
Range(Rows(Zeile2), Rows(Zeile3)).EntireRow.Hidden = True
End If
Range("J7") = Seite
Application.ScreenUpdating = True
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub SeiteAusblenden()
'Blendet nach der letzten benutzten Zeile in Spalte E alle leeren Seite aus
Dim Zeile_E As Long, Seite As Long
Dim Zeile1 As Long, Zeile2 As Long, Zeile3 As Long
Zeile1 = 22
Zeile3 = 1127
'ActiveSheet.Unprotect
Application.ScreenUpdating = False
Rows.Hidden = False
Zeile_E = IIf(Cells(Zeile3, 5) "", Zeile3, Cells(Zeile3 + 1, 5).End(xlUp).Row)
If Zeile_E > Zeile3 - 28 Then
Seite = 1 + Application.WorksheetFunction.RoundUp((Zeile_E - 45) / 31, 0)
'do nothing (alle eingeblendet)
ElseIf Zeile_E = 46 - 3, 0, 3)
Range(Rows(Zeile2), Rows(Zeile3)).EntireRow.Hidden = True
Else
Seite = 1 + Application.WorksheetFunction.RoundUp((Zeile_E - 45) / 31, 0)
Zeile2 = 46 + (Seite - 1) * 31 - IIf(Zeile_E >= 46 + (Seite - 1) * 31 - 3, 0, 3)
Range(Rows(Zeile2), Rows(Zeile3)).EntireRow.Hidden = True
End If
Range("J7") = Seite
Application.ScreenUpdating = True
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub