Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
196to200
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
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Duplikat suchen über Textfeld

Duplikat suchen über Textfeld
02.01.2003 12:46:00
Robert B.
Hallo Zusammen,

erst mal möchte ich allen ein gutes neues Jahr wünschen.

Meine Frage:
Ich habe ein Suchfunktion erstellt, die nach dem verlassen einer Zelle in Spalte B automatisch(über eine Worksheet_Change Ereignis) entsprechende Duplikate sucht und ggf. dorthin springt.
Dies funktioniert auch klaglos.
Jetzt möchte ich Aufgrund einer Erweiterung meiner Anwendung
die Zellen in Spalte B unter anderen über ein Textfeld in einer Userform füllen, was soweit auch gut funktioniert.
Durch das füllen der Zelle in Spalte wird auch das Worksheet_Change Ereignis ausgelöst jedoch die Duplikate nicht gefunden.

Ich habe schon versucht nach dem füllen der Zelle
mit Cells(z, 2) = txtVvNr
nachfolgend mit sedkeys = "~" eine Eingabe zu simulieren.
Das hat aber auch nicht geholfen.

Merkwürdig erscheint mir dabei, wenn ich versuche nach dem eigentlichen speichern der Daten über Bearbeiten in der Userform
die selben Daten nochmals zu speichern, dann werden die Duplikate gefunden ???

Macht das Sinn oder habe ich da vielleicht eine Fehler??


Gruß Robert





16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Duplikat suchen über Textfeld
02.01.2003 13:14:35
L.Vira
Prost Neujahr
wo ist der relevante Code?
Re: Duplikat suchen über Textfeld
02.01.2003 13:41:20
Robert B.
Hallo L.Vira,

hier kommt der Code.

Und die Daten von der Textbox werden mit folgendem Code
in die Zelle geschrieben.
Cells(z, 2) = txtVvNr

Ich hoffe das der Code weiterhilft.

Gruß Robert

Re: Duplikat suchen über Textfeld
02.01.2003 14:33:25
L.Vira
wo ist strFind deklariert? Müsste schon Public sein!
Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 15:01:18
Robert B.
Hallo L.Vira,

ja strFind ist als Public deklariert.

Die Suche funktioniert ja soweit tadelos.

Gruss Robert

Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 15:58:14
L.Vira
Wenn ich das richtig verstehe, willst du die Suche auslösen, nachdem die Daten aus der Textbox ins Blatt übertragen wurden.
Sinnvoller wäre aber, vor dem Übertrag zu prüfen, ob es den Wert schon gibt, also die Suche nicht über Change auszulösen sondern z.B. bei einem Buttonclick. Dein Code sagt nix darüber aus, was
nach Füllen der Textbox passiert.
Anzeige
Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 16:11:08
Robert B.
Hallo L.Vira,

Das wäre ja schön bereits bei einem Buttonkilck die Suche auszulösen.
Nur ich vermute, dann muß der Code für die Suche neu überarbetiet werden und ich bin ja schon froh überhaupt so weit gekommen zu sein.
Beim verlassen der Textbox wird die Textlänge wie folgt geprüft.

Gruß Robert


Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 17:05:08
L.Vira
Damit exit überhaupt funktioniert, muss du danach ja noch etwas anderes machen, was ist das?
Du brauchst der Variablen strFind doch nur den Inhalt der Textbox
zuzuweisen, dann hat sich der ganze Kram mit Change doch von selbst erledigt.
Anzeige
Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 17:43:58
Robert B.
Hallo L.Vira,

ich habe es fast vermutet. Jetzt wird es kompliziert.

(Zur grundsätzlichen Vorgehensweise: Ist ein bestehender Datensatz markiert, öffnet die Userform über den Button "Bearbeiten" und ließt die Daten ein.Wird auf den Button Neu gedrückt wird die erste leere Zeile aufgesucht und die Userform gestartet. Alles in der Tabelle1. Die Suche kann jedoch in mehreren Tabellen suchen und Datensätze finden.)

Auf meiner Userform sind mehrere Textboxen angeordnet.
die beschriebene ist an 2. Stelle und ich prüfe beim verlassen der Textbox nur die Länger der eingegebenen Nr.
eigentlich sollte beim speichern die Textbox wie bereits beschrieben geprüft werden. Jedoch wenn ein Duplikat gefunden wurde. Wird nach dem bestätigen der MsgBox der restliche Code zum speichern ausgeführt. Das darf natürlich nicht sein.

Die von Dir vorgeschlagen Lösung ist soweit OK aber
wenn ein Duplikat gefunden wurde, wird die Userform nicht beendet.
Die Userform sollte aber beendet und gleich wieder gestartet werden. Somit wird die Userform neu geladen und der aktuelle Datensatz in der Userform angezeigt. Das ganze sollte so funktionieren, wenn ein Datensatz gefunden wird und die weitersuche mit nein bestätigt wird, soll der aktuelle Datensatz eingelesen werden. wird die weitersuche mit ja bestätigt soll die Userform erst beim letzten gefundenen Datensatz neu geladen werden. In der Regel wird wenn überhaupt nur 1 oder max. 2 Datensätze gefunden.

Das ganz sollte soweit ich das beurteilen kann in der Suche integriert sein?? Aber wie?

Ich hoffe du kannst mir noch weiterhelfen

Gruß und Danke Robert

Anzeige
Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 18:29:36
L.Vira
Du musst das userform nicht schließen, um den Datensatz anzuzeigen, es reicht Private Sub UserForm_Initialize()
oder activate auszuführen.


Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 18:49:59
Robert B.
Hallo L.Vira

Die Userform ist ja bereits geöffnet. Wo und wie soll ich die Userform aktualisieren wenn ein Duplikat gefunden wurde??

Der Weg ist mit noch nicht ganz klar.

Gruß Robert

Re: Duplikat suchen über Textbox (nicht Textfeld)
02.01.2003 19:47:11
L.Vira
mit welchem Ereignis startest du das userform?
damit: Private Sub UserForm_Initialize()
wenn ja dann:
Call UserForm_Initialize
Re: Duplikat suchen über Textbox (nicht Textfeld)
03.01.2003 12:21:44
Robert B.
Hallo L.Vira

Entschuldigung, das ich mich erst jetzt melde. Wir hatten gestern
einen riesen Stromausfall(in der ganzen Straße). Ich konnte die Nachricht abholen und dann hat es wieder keinen Strom gegeben.

Das Ereignis ist in der Tat UserForm_Initialize.

Nur das Makro befindet sich in einem Standard Modul und da funktioniert das nicht.
Ich habe das Makro geändert und in den Code der Userform kopiert.

Soweit so gut. Da habe ich aber noch eine Frage. Warum wird beim schließen der Userform nochmals das txtVvNr_Exit Ereignis aufgerufen.
Somit wird ja beim schließen nochmal nach der Nr. gesucht.
Ich habe zwar im Code vor dem schließen der Userform die Textbox auf "" gesetzt, aber das kann doch nicht richtig sein oder??

Noch eine Frage hätte ich wenn ich Dir nicht schon lästig werde.
Wie kann ich abfragen ob die Userform gestartet ist oder nicht?

Vielen Dank im voraus

Gruß Robert



Anzeige
Re: Duplikat suchen über Textbox (nicht Textfeld)
03.01.2003 17:29:16
L.Vira
Das erste könnte man mit einer Boolschen Variablen(auf Modulebene) abfangen, das wird oft gemacht, um zu einem bestimmten Zeitpunkt ein Ereignis zu unterdrücken.
Das zweite ist nicht nötig, weil du in Excel 97 sowieso nur
modal anzeigen kannst. Ein erneutes Anzeigen des userform
also gar nicht möglich ist.
Re: Duplikat suchen über Textbox (nicht Textfeld)
03.01.2003 18:49:12
Robert B.
Hallo L.Vira

Danke für die Antwort.

Wie würden denn das mit der Boolschen Variablen(auf Modulebene) aussehen.

Das 2 ist für mich auch interessant, da ich die Anwendung auch unter Excel 2000 einsetze.

Gruß Robert

Re: Duplikat suchen über Textbox (nicht Textfeld)
04.01.2003 19:41:19
L.Vira
zu1
das ist eigentlich gar nicht nötig, denn wenn die Eingabe korrekt ist, kommt ohnehin keine Meldung und wenn nicht
dann ist eine meldung auf jeden Fall angebracht.
zu2
Option Explicit
Sub Zeigen()
If UserForm1.Visible = True Then Exit Sub
UserForm1.Show
End Sub
Anzeige
Re: Duplikat suchen über Textbox (nicht Textfeld)
04.01.2003 20:22:09
Robert B.
Hallo L.Vira,

ich möchte mich herzlich für Deine Hilfe bedanken.

Gruß Robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige