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

Suchfunktion für 6stellige Zahlenkolonnen

Suchfunktion für 6stellige Zahlenkolonnen
Florian
Hallo Ihr alle.
Ich habe ein VBA-Skript geschrieben welches beim klick auf ein Textfeld die enthaltene Zahlenkolonne übernimmt und in einer anderen Excel-Tabelle die entsprechende Zahl sucht. Wird diese gefunden wird der Text zu der Zahl in der benachbarten Spalte in einer MsgBox ausgegeben.
Nun habe ich folgendes Problem:
Ist in dem Textfeld eine zweistellige Zahl z.B. 12 findet meine Funktion diese natürlich in z.B. der 812073, der 600123 etc..
Außerdem kommt es vor, das der Verfasser der anderen Exceltabelle vor oder hinter der Zahlenkolonne manchmal eine Leertaste gesetzt hat. Dieses Zeichen soll nach Möglichkeit nicht mit einbezogen werden.
Wie bekomme ich es hin, dass Excel vor der Suche prüft ob die Zahl wirklich 6-Stellig ist?
Habe diesbezüglich nur Lösungsansätzt in Excel gefunden nicht aber in VB.
Über Unterstützung würde ich mich sehr freuen.
Grüße
Florian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suchfunktion für 6stellige Zahlenkolonnen
09.07.2009 10:01:09
ransi
HAllo
z.B. 12 findet meine Funktion diese natürlich in z.B. der 812073, der 600123 etc..
Wenn das nicht so sein soll, musst du deine Suchfunktion ändern, weil die ist dann fehlerhaft.
Aber egal...
Wenn die Box in einer Userform ist dann so:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit



Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1.Text Like "######" Then
    MsgBox "Falsche Eingabe"
    Cancel = True
    Else:
    MsgBox "Alles gut"
End If
End Sub

Ist sie auf einem Tabellenblatt dann so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Private Sub TextBox1_LostFocus()
If Not TextBox1.Text Like "######" Then
    MsgBox "Falsche Eingabe"
    Else:
    MsgBox "Alles gut"
End If
End Sub

ransi
Anzeige
AW: Suchfunktion für 6stellige Zahlenkolonnen
09.07.2009 10:03:27
Tino
Hallo,
du kannst die länge mit Len(Deine Nummer) prüfen.
Gruß Tino
AW: Suchfunktion für 6stellige Zahlenkolonnen
09.07.2009 10:26:48
Florian
Hallo,
Euch beiden erst mal vielen Dank.
Ich habe zunächst den Vorschlag vonTino aufgegriffen. Da ich bisher
If BestNr "" Then
in meinem Skript hatte brauchte ich es nur gegen
If Len(BestNr) = 6 Then
austauschen und alles wird gut.
Leider werden von "Len()" die Leertasten mit geprüft. Es kann nämlich auch sein, dass in den Textfeldern Leerstellen und Zeilenumbrüche vorhanden sind (habe ich vergessen zu erwänen).
Len ist für mich ideal weil ich dann meine Programmierung nicht grundlegend umstellen muss.
Danke schon mal, ich werde nun den Vorschlag von ransi genauer prüfen...
Grüße
Florian
Anzeige
AW: Suchfunktion für 6stellige Zahlenkolonnen
09.07.2009 10:37:05
Florian
Ich schon wieder,
es läuft!!!
Die Methode von ransi ist eigentlich genau so leicht für mich umzusetzen, sieht auf den ersten Blick nur nach mehr Arbeit aus.
Habe folgende Änderung gemacht:
If BestNr "" Then
geändert in
If BestNr Like "######" Then
Der große Vorteil ist, dass hier die Leertasten das Ergebnis nicht verfälschen.
Großen Dank für Eure Unterstützung.
Grüße
Florian

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige