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

Schaltflächeneinstellung Navigation

Schaltflächeneinstellung Navigation
24.09.2015 15:04:37
Ingo
Grüß Gott zusammen:)
ich hätte noch 2 Fragen zu meinem NavigtionFormular in VBA
Ich habe für die Navigation 2 Schaltflächen (Auf un Ab) welche beim betätigen eine Zeile nach oben bzw. unten Navigieren, dies passiert über diese beiden Routinen:
--------------
' Navi auf und ab...

Private Sub cmdAb_Click()
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Private Sub cmdAuf_Click()
If ActiveCell.Row > 2 Then
ActiveCell.Offset(-1, 0).Range("A1").Select
End If
End Sub

--------------
Nun zu meinen beiden Fragen:
1)Steuerelement Einstellung
Wenn ich ödter schnell auf Auf oder Ab klicke kann ich wohl nicht schneller als ein Doppelklick klicken da dies als Mögliches Ereignis ja auch noch für die beiden Schaltflächen definiert ist, gibt es eine Möglichkeit, die Doppelkklick Aktivierung für diese Schaltflächen zu deaktivieren?
2) Die Navi auf und Ab macht eigentlich schon was Sie soll, Aber...:(...
Wenn ich Daten in der Tabelle Filter, und z.b. nur den Datensatz mit der Id 1 und 7 angezeigt hab und ich vom ersten Datensatz auf die Schaltfläche Auf klicke springt er eben nicht gleich den 7. Datensatz sondern den ja in dieser gefilterten liste gar nicht vorhanden zweiten Datensatz an;
... Denke Ihr wisst was ich meine. Wie kann ich den Quelltext modifizieren, dass ich nur in aktuell angezeigten Datensätzen navigieren kann?
Danke für jede Hilfe
Besten Gruß Ingo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltflächeneinstellung Navigation
24.09.2015 15:20:39
matthias
Hallo Ingo,
Events kannst du nur alle oder garnicht deaktivieren. Was du aber machen kannst ist dem Doppelklick, die gleiche Anweisung zuzuweisen:
Private Sub cmdAb_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
Möglich wäre auch ein Drehfeld zu nutzen, aber eh ich mich da reingedacht hab, hast du das mit dem Event schon kopiert und fertig.
lg Matthias

AW: Schaltflächeneinstellung Navigation
24.09.2015 16:14:09
Ingo
Perfekt, Vielen Dank!
das mit den Schaltflächen-Navigieren funktioniert Dank Deiner Hilfe jetzt so wie ichs mir vorstelle.
Wenn jemand noch einen Schupser für das zweite Problem hätte wäre mein Tag gerettet :))

Anzeige
AW: Schaltflächeneinstellung Navigation
24.09.2015 17:00:31
matthias
Auch das ist recht einfach gelöst:
Private Sub cmdAb_Click()
ActiveCell.Offset(1, 0).Range("A1").Select
Do While Rows(ActiveCell.Row).Hidden
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub
Private Sub cmdAuf_Click()
If ActiveCell.Row > 2 Then ActiveCell.Offset(-1, 0).Range("A1").Select
Do While Rows(ActiveCell.Row).Hidden
If ActiveCell.Row > 2 Then ActiveCell.Offset(-1, 0).Range("A1").Select
Loop
End Sub
Das gleiche in grün für den Doppelclick,
lg Matthias

AW: Schaltflächeneinstellung Navigation
25.09.2015 13:38:24
Ingo
Danke sehr für den Quelltext:)
Wenn ich in der liste navigiere funktioniert alles bis auf folgendes Szenario, welches dann acuh leider zu einer Fehlermeldung/ Abbruch desScriptes führt:
Wenn ich auf dem ersten gefilterten Datensatz in der liste stehe und davor noch weitere Zeilen die jetzt ausgefiltert sind vorhanden waren und ich weiter auf die Aufschaltfläche klicke kommt ein Abbruch der ganz böse in einer endlosschleife versinkt :(
Könnt ihr mir sagen wie ich den unteren wert also die kleinsten angezeigte Zeilen bei einer gefilterten Liste auslese, bzw meinen Quelltext ohne abbruch zurechtstutze...
Vielen Dank:)

Anzeige
AW: Schaltflächeneinstellung Navigation
25.09.2015 15:28:34
matthias
Hallo Ingo,
das hab ich nicht bedacht, lässt sich aber nachrüsten:
Private Sub cmdAuf_Click()
If ActiveCell.Row > 2 Then ActiveCell.Offset(-1, 0).Range("A1").Select
Do While Rows(ActiveCell.Row).Hidden
If ActiveCell.Row > 2 Then
ActiveCell.Offset(-1, 0).Range("A1").Select
Else: Call cmdAb_Click
Exit Do
End If
Loop
End Sub
Wenn du jetzt z.B. Zeile 2 bis 10 ausgeblendet hast und stehst in Zeile 7 (dein Szenario, dass keine Zelle darüber einblendet ist), wird die Schleife ausgelöst solang bis du in Zeile 2 ankommst. Sollte diese auch ausgeblendet sein, wird der Button "Ab" ausgelöst und die Schleife beendet. Damit landest du in der letzten einbeblendeten Zelle (11).
lg Matthias

Anzeige
AW: Schaltflächeneinstellung Navigation
25.09.2015 16:33:29
Ingo
Hallo Matthias,
was soll ich dazu sagen...
Mercy,Mercy,Mercy-
bin feste Beeindruckt von so professioneller und freundlicher vba-Hilfe hier!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige