Clever-Excel-Forum

Normale Version: Formel Prgrammierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
anhand meiner Formulierungen werdent ihr schnell merken, das ich absoluter Anfänger bin.
Bin eben schon alt wie neh Kuh und lern immer noch dazu Blush 
Habe die Datenbank Schritt für Schritt auf Basis eines einfachen YouTube Videos erstellt.
Hat zwar ne Weile gedauert, bin aber dennoch Happy das zumindest die Suchfunktion perfekt funktioniert.

Nun meine Frage:
Im Anhang ein Bild meiner Programmierung für eine ganz einfache Adress Datenbank.
Private Sub oben = Suchfunktion so das es mir alle Daten aus einer Reihe der Excel Liste in meiner Maske anzeigt.

Die Excelliste ist Alphabetisch sortiert. Die Spalte A seht ihr ganz links auf dem Bild.
Ich gebe nun als Suchfunktion z.Bsp. Handwerker ein.

Nun möchte ich mit einem "Weiter" Button Private Sub mit rotem Pfeil
einfach die Handwerker durchklicken können.
Ebenso mit einem zurück Button Private Sub mit grünen Pfeil

Wie lautet die richtige Formel Ergänzung?
Oder habe ich da einen totalen Gedankenfehler.

Danke schon mal für eure Unterstützung.
Hallo,

ich bin neu im Forum und sehe mich als Fortgeschrittener-Anfänger,  also daher eine Anregung und keine Lösung von mir.

Aber ich meine Du hast ein Gedankenfehler in der Programmierung.
Du durchsuchst immer die Spalte und damit bleibt er immer beim ersten Ergebnis hängen. Wird das SUB erneut ausgeführt macht er das gleich nochmal, er beginnt von oben zu suchen. Er kann aus meiner Sicht so gar nichts anderes finden außer dem ersten Eintrag, da er immer wieder von oben in der Spalte beginnt zu suchen.

Probier doch mal weitere Parameter zu .find aus "After" und "SearchDirection".
Genutzt habe ich das selber noch nie, aber ich finde die Erklärung von MS Learn verständlich und meine das könnte klappen.

Range.Find-Methode (Excel) | Microsoft Learn
Range.FindNext-Methode (Excel) | Microsoft Learn
Range.FindPrevious-Methode (Excel) | Microsoft Learn


Vielleicht ist das ein Ansatz für Dich.

Ganz wichtig! Beschäftige mit Deklarieren (Dim finden As Range) und Option Explicit. Das sind Grundsteine damit ein Code fehlerfrei funktioniert.
Ich vermute, dass Du "Dim finden As Range" als globale Variable deklarieren musst (ich denke das muss ins Modul1 ganz nach oben - also vor einer SUB).

Erste Suche bleibt wie sie ist.
Weiteren Eintrag suchen: Set rngFind = Columns(1).FindNext(after:=finden)
Vorherigen Eintrag suchen: Set rngFind = Columns(1).FindPrevious(after:=finden)

VG
Kinopio
Hallo,
gleich noch eine Ergänzung:

Wenn Du iin einem Excel-Forum Bilder hoch lädst werden viele nicht antworten weil man dann oft das ganze nach bauen müsste.
Und das mache ich ganz bestimmt nicht!
Also lade Excel Dateien hoch und keine Bilder!
Hi,

wieso willst du hier überhaupt etwas programmieren? Reicht dir nicht schon das gewöhnliche Tabellenblatt? Cursor rauf oder runter springt einen Datensatz vor oder zurück.

Falls das nicht reicht: Wie wäre es mit dem Autofilter?

Und falls das immer noch nicht reicht, könnte man auch die Eingabemaske verwenden. OK, die findet man in Excel nicht ganz so einfach, aber Google hilft einem da. Stichwort: irgendeine Zelle der Tabelle auswählen und dann Alt-N-M drücken (Alt drücken und halten und dann nacheinander N und M drücken).
Moin

Und gibt es noch STRG-F.
Und das sogar in fast jedem Windows-Programm, ist halt ähnlich wie Strg+p (print) ein Quasi-Standard …
[attachment=45566]
Hallöchen,

ist sicher auch nicht verkehrt, mit einfachen Sachen erste Programmierschritte zu wagen 100 ...