Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Formel Prgrammierung
#1
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.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
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
Antworten Top
#3
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!
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#4
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).
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Moin

Und gibt es noch STRG-F.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#6
Und das sogar in fast jedem Windows-Programm, ist halt ähnlich wie Strg+p (print) ein Quasi-Standard …
   
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hallöchen,

ist sicher auch nicht verkehrt, mit einfachen Sachen erste Programmierschritte zu wagen 100 ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste