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

Userform zeilenweise durchklicken

Userform zeilenweise durchklicken
04.11.2022 11:09:24
Andi
Hallo zusammen,
habe eine UserForm erstellt, lese damit Zeilenweise die Daten ein.
Wenn ich das Makro starte dann fängt die Userform bei Pos. 1 (Zeile 8) mit dem Datensatz an.
Per CommandButton blättere ich vor und zurück.Soweit klappt das auch....
Jetzt würd ich gern wenn in der Tabelle eine Zeile markiere ist, gleich die richtige PosNr (ZeilenNr) in die Userform übergeben. Stand jetzt fang ich immer mit der ersten Pos (Zeile 8) an.
Wie setz ich das um? Könnte mir da jemand bitte helfen? :)

Private Sub tb_Pos_Change()
If Not tb_Pos.Value = "" Then
If Not tb_Pos.Value = "0" Then
Call UserForm_Initialize
End If
End If
End Sub
Private Sub cb_PosVor_Click()
If Zeile  letzteZeile Then
Zeile = tb_Pos.Value + 7
Else
Zeile = ActiveCell.Row
tb_Pos.Value = Zeile - 7
End If
'......... weiter im code
ist mein erster beitrag hier, ich hoffe ich hab alles richtig gemacht :o)
Danke und beste Grüße
Andi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform zeilenweise durchklicken
04.11.2022 13:56:37
ralf_b
wenn du die Userform nicht ständig neu initialisieren würdest. könntest du doch einfach den Wert hochsetzen.
im initialize setzt du tb_Pos einen Wert. Dies löst ein Change Event aus. In diesem Event rufst du wieder das initialize auf.
Das userform_initialize ist nur dazu da die Userform einzurichten und Starteinstellungen setzen.
AW: Userform zeilenweise durchklicken
08.11.2022 14:18:39
Andi
Hallo und erstmal danke das du mir sagst was ich falsch mache....
ich habs zum laufen bekommen, ist das aber jetzt richtig so?

Private Sub tb_Pos_Change()
If Not tb_Pos.Value = "" Then
If Not tb_Pos.Value = "0" Then
Zeile = tb_Pos.Value + 7
With ThisWorkbook.Worksheets("Stueckliste")
'..... code
End With
With ThisWorkbook.Worksheets("Konfiguration")
'..... code
End With
End If
End If
End Sub
Private Sub cb_PosVor_Click()
If Zeile  letzteZeile Then
Zeile = tb_Pos.Value + 7
Else
Zeile = ActiveCell.Row
tb_Pos.Value = Zeile - 7
End If
With ThisWorkbook.Worksheets("Stueckliste")
'..... code
End With
With ThisWorkbook.Worksheets("Konfiguration")
'..... code
End With
End Sub

Anzeige
AW: Userform zeilenweise durchklicken
08.11.2022 19:20:18
ralf_b
Hier mein Vorschlag,
globale Variable maxZeile , minZeile werden in Initialize gesetzt und dann nur noch zum Vergleichen genutzt.
DatensatzinUF und DatensatzinTabelle sind eigene subs, die bei Bedarf in tb_Pos_change aufgerufen werden und die zu lesende oder zu schreibende Zeile als Parameter mitbekommen.
cb_PosVor und cb_PosZurueck würde ich in ein Drehfeld ändern.

Option Explicit
Dim maxZeile As Long
Dim minZeile As Long
Private Sub tb_Pos1_change()
If Me.tb_Pos1.Value = "" Or tb_Pos1.Value = "0" Then MsgBox "Falsche Pos": Exit Sub
If Not IsNumeric(tb_Pos1) Then MsgBox "Kein Textwert erlaubt": Exit Sub
With ThisWorkbook.Worksheets("Stueckliste")
If CLng(tb_Pos1) >= minZeile And CLng(tb_Pos1)  CLng(tb_Pos1) Then
tb_Pos1.Value = tb_Pos1.Value + 1
End If
End Sub
Private Sub cb_PosZurueck_Click()
If minZeile = minZeile And ActiveCell.Row 

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige