im UF navigieren
06.02.2020 20:26:47
Peer
Ich hab endlich wieder mal ein wenig Zeit gefunden, an meinem Projekt, dass dank euch schon einen enormen Status erreicht hat, weiter zu basteln.
Dabei habe ich im Netz etwas Interessantes gefunden, das ich gern an meine Bedürfnisse anpassen möchte.
Ich bin aber aus den Code (noch) nicht richtig schlau geworden, habe ihn aber doch ein wenig _ verändert.
Option Explicit
Dim dLetzteZeile As Double, dAktZeile
Private Sub cmdNext_Click()
If dAktZeile > dLetzteZeile Then
MsgBox "Sie haben den letzen Datensatz erreicht", vbExclamation, "Weiter vorblättern _
nicht möglich"
btn_Next.Enabled = False
Else
btn_Next.Enabled = True
dAktZeile = dAktZeile + 1
Einlesen
btn_Prev.Enabled = True
End If
End Sub
Private Sub cmdPrev_Click()
If dAktZeile = 2 Then
MsgBox "Sie haben den ersten Datensatz erreicht", vbExclamation, "Weiter rückblättern _
nicht möglich"
btn_Prev.Enabled = False
Else
btn_Prev.Enabled = True
dAktZeile = dAktZeile - 1
Einlesen
btn_Next.Enabled = True
End If
End Sub
Private Sub UserForm_Activate()
dAktZeile = 2
dLetzteZeile = ActiveSheets.Cells.SpecialCells(xlCellTypeLastCell).Row - 1
Einlesen
End Sub
Sub Einlesen()
With ActiveSheets
dLetzteZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
Call Userform_Initialize
End With
End Sub
Ich habe 12 Monatsblätter, bei denen Ich mit Rechtsklick (in Spalte B) auf die aktive Zeile zugreife und in eine UF einlese.
Dabei beginnt bei jedem Monatsblatt der Kalendertag in Zeile 12 und endet max bei 42 (für die Monate, die 31 Tage haben)
Die Monate, die nur 30 Tage haben, enden logisch bei 41, und Februar entweder bei 28 (39) oder bei 29 (40) für das Schaltjahr.
Ich möchte oben stehenden Code so anpassen, dass in der UF die erste Zeile (1. Datensatz) bei 12 beginnt und bei dem jeweiligen letzten Zeile (39 oder 40 oder 41 oder 42) endet.
Ich finde an diesem Code gut, dass man beim Klick vor dem ersten Datensatz die MsgBox, die meldet, das dieser nicht weiter geht, finde aber schlecht, das die Anzahl der Datensätze nicht begrenzt wird und daher auch über die Zeile 42 navigiert wird.
Hintergrund ist, das ich nicht jedes mal die UF schließen möchte, wenn ich den nächsten oder vorherigen Datensatz ändern möchte.
Anbei eine stark reduzierte Mappe nur mit den Monaten Januar und Februar.
https://www.herber.de/bbs/user/135040.xlsm
Ich hoffe, die vielen Profis unter euch können mir helfen oder Tipps geben.
Vielen Dank im Voraus.
LG
Peer