Registriert seit: 05.10.2017
Version(en): Exel 2010
Guten Tag,
ich hab mal wieder was wo ich nicht weiter komme.
Ich habe mit VBA Eingabemasken erstellt um Daten zu erfassen.
Das klappt alles wunderbar.
Nun benötige ich ein weiteres Userform um durch diese Daten blättern zu können.
Die Daten sind alle im Archiv Sheet.
Ich habe eine Datei angehängt, vielleicht könnt ihr mir da weiterhelfen.
Datensatz.xlsm (Größe: 16,89 KB / Downloads: 2)
Danke
Registriert seit: 22.07.2021
Version(en): Excel 365
Hallo,
hier mein Vorschlag:
Code:
Option Explicit
Dim rowIndex As Long
Dim dataRange As Range
Private Sub UserForm_Initialize()
' Setze den Startindex auf die erste Zeile mit Daten
rowIndex = 2
' Setze den Datenbereich auf Spalte A und B ab Zeile 2 im Blatt "Archiv"
With Sheets("Archiv")
Set dataRange = .Range("A2:B" & .Cells(.Rows.Count, "A").End(xlUp).Row)
End With
' Aktualisiere die Anzeige in der UserForm mit den Daten der ersten Zeile
UpdateDataDisplay
End Sub
Private Sub UpdateDataDisplay()
' Aktualisiere die Anzeige in der UserForm mit den Daten der aktuellen Zeile
Me.TextBox1.Value = dataRange.Cells(rowIndex, 1).Value
Me.TextBox2.Value = dataRange.Cells(rowIndex, 2).Value
End Sub
Private Sub CommandButton1_Click()
' Zurück zur vorherigen Zeile springen
If rowIndex > 2 Then
rowIndex = rowIndex - 1
UpdateDataDisplay
End If
End Sub
Private Sub CommandButton2_Click()
' Zur nächsten Zeile springen
If rowIndex < dataRange.Rows.Count Then
rowIndex = rowIndex + 1
UpdateDataDisplay
End If
End Sub
Folgende(r) 1 Nutzer sagt Danke an el-rettev für diesen Beitrag:1 Nutzer sagt Danke an el-rettev für diesen Beitrag 28
• Xenon85
Registriert seit: 05.10.2017
Version(en): Exel 2010
Besten Dank, hat direkt geklappt.
Mega
Registriert seit: 05.10.2017
Version(en): Exel 2010
Kann ich das auch so einstellen das immer beim letzten Eintrag gestartet wird?