Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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
Zahlen suchen mit ersten zwei Ziffern
31.01.2018 10:22:21
Philip
Hallo
Ich habe einen Code mit dem die Spalte F nach Werten durchsuche, diese und andere werte übertrage ich in eine Listbox auf einer Userform.
Nun habe ich bei der Suche ein Problem und zwar würde ich gerne nur die ersten zwei Ziffern der zu suchenden Zahl eingeben und dann alle die mit diesen zwei Ziffern beginnen in die Listbox kopieren.
Beispiel:
Eingabe in Textbox = 32* oder nur 32
ausgabe in Listbox = alle Nummern die mit 32 beginnen. zb 32020300,32020405,30030506
Die Zahlen die zu suchen sind, sind immer 8 stellig.
Der aktuelle Code sucht nur die ganze Eingabe.
Private Sub CommandButton1_Click()
Dim wksQ As Worksheet
Dim lngAnzahl As Long
Dim strKundennummer As String
Dim lngSpalte As Long
Dim rngSuchBereich As Range
Dim vntGesucht As Variant
Dim lngGefundenInZeile As Long
Dim straArray() As String
Dim rngGefunden As Range
Dim lngZeileArray As Long
Dim strFirstAddress As String
Set wksQ = ThisWorkbook.Worksheets("Probenahme")
strKundennummer = Trim(TextBox1.Text)
lngAnzahl = Application.WorksheetFunction.CountIf(wksQ.Columns(6), strKundennummer)
If lngAnzahl  strFirstAddress
End If
ListBox1.Clear
ListBox1.ColumnCount = 9
ListBox1.ColumnHeads = False
ListBox1.List = straArray
ListBox1.ColumnWidths = -1
ListBox1.Font.Size = 12
Label1 = "Anzahl:" & ListBox1.ListCount
End If
End Sub
Gruss Philip

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 10:33:00
Sepp
Hallo Philip,
probier mal so.
vntGesucht = Replace(strKundennummer, "*", "") & "*"


Set rngGefunden = rngSuchBereich.Find(What:=vntGesucht, After:=rngSuchBereich.Cells(1), _
  LookIn:=xlValues, LookAt:=xlWhole)

Gruß Sepp

Anzeige
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 10:41:27
Philip
Hallo Sepp
Habe ich Probiert ist jedoch noch nicht die Lösung. Sucht immernoch nach dem ganzen.
Gruss Philip
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 10:51:24
Sepp
Hallo Philip,
nicht nachvollziehbar, da wirst du wohl eine Beispieltabelle hochladen müssen.
Gruß Sepp

AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 11:10:18
Philip
Hallo
Anbei eine Beispieltabelle, ich habe den Code so wie du geschrieben hast abgeändert.
Hat die Funktion Trim evt. einen Einfluss?
https://www.herber.de/bbs/user/119434.xlsm
Gruss Philip
Anzeige
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 11:34:29
Sepp
Hallo Philip,
CountIf findet natürlich keinen Teilstring, deshalb hat es nicht funktioniert.
Habe den Code etwas umgebaut.
Private Sub CommandButton1_Click()
Dim wksQ As Worksheet
Dim strKundennummer As String
Dim lngSpalte As Long
Dim rngSuchBereich As Range, rngList As Range, rng As Range
Dim vntGesucht As Variant
Dim lngGefundenInZeile As Long
Dim straArray() As String
Dim rngGefunden As Range
Dim lngZeileArray As Long
Dim strFirstAddress As String

Set wksQ = ThisWorkbook.Worksheets("Tabelle1")
strKundennummer = Trim(TextBox1.Text)
vntGesucht = Replace(strKundennummer, "*", "") & "*"

lngSpalte = 6
Set rngSuchBereich = wksQ.Columns(lngSpalte)

lngGefundenInZeile = 0

Set rngGefunden = rngSuchBereich.Find(What:=vntGesucht, After:=rngSuchBereich.Cells(1), _
  LookIn:=xlValues, LookAt:=xlWhole)
If Not rngGefunden Is Nothing Then
  strFirstAddress = rngGefunden.Address
  Do
    If rngList Is Nothing Then
      Set rngList = rngGefunden
    Else
      Set rngList = Union(rngList, rngGefunden)
    End If
    Set rngGefunden = rngSuchBereich.FindNext(rngGefunden)
  Loop While Not rngGefunden Is Nothing And rngGefunden.Address <> strFirstAddress
End If

If Not rngList Is Nothing Then
  Redim straArray(1 To rngList.Rows.Count, 1 To 9) As String
  For Each rng In rngList
    lngZeileArray = lngZeileArray + 1
    straArray(lngZeileArray, 1) = wksQ.Cells(rngGefunden.Row, 1)
    straArray(lngZeileArray, 2) = wksQ.Cells(rngGefunden.Row, 2)
    straArray(lngZeileArray, 3) = wksQ.Cells(rngGefunden.Row, 4)
    straArray(lngZeileArray, 4) = wksQ.Cells(rngGefunden.Row, 5)
    straArray(lngZeileArray, 5) = wksQ.Cells(rngGefunden.Row, 6)
    straArray(lngZeileArray, 6) = wksQ.Cells(rngGefunden.Row, 7)
    straArray(lngZeileArray, 7) = wksQ.Cells(rngGefunden.Row, 8)
    straArray(lngZeileArray, 8) = wksQ.Cells(rngGefunden.Row, 13)
    straArray(lngZeileArray, 9) = wksQ.Cells(rngGefunden.Row, 18)
  Next
  ListBox1.Clear
  ListBox1.ColumnCount = 9
  ListBox1.ColumnHeads = False
  ListBox1.List = straArray
  ListBox1.ColumnWidths = -1
  ListBox1.Font.Size = 12
  Label1 = "Anzahl:" & ListBox1.ListCount
Else
  ListBox1.Clear
  MsgBox "Kundennummer nicht gefunden!"
End If

End Sub


Gruß Sepp

Anzeige
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 13:08:36
Philip
Hallo Sepp
Danke für deine Hilfe, der Code funktioniert fast perfekt.
Es wird mir nur gerade die erste gefundene Ziffer in die Listbox kopiert, kannst du mir da noch helfen das auch die anderen Ziffern in der Listbox angezeigt werden.
Gruss Philip
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 16:32:35
Sepp
Hallo Philip,
sorry, bin gerade dabei, meinen neuen PC aufzusetzen.
Da hab ich einen Fehler gemacht, änder folgenden Teil wie folgt.

For Each rng In rngList
lngZeileArray = lngZeileArray + 1
straArray(lngZeileArray, 1) = wksQ.Cells(rng.Row, 1)
straArray(lngZeileArray, 2) = wksQ.Cells(rng.Row, 2)
straArray(lngZeileArray, 3) = wksQ.Cells(rng.Row, 4)
straArray(lngZeileArray, 4) = wksQ.Cells(rng.Row, 5)
straArray(lngZeileArray, 5) = wksQ.Cells(rng.Row, 6)
straArray(lngZeileArray, 6) = wksQ.Cells(rng.Row, 7)
straArray(lngZeileArray, 7) = wksQ.Cells(rng.Row, 8)
straArray(lngZeileArray, 8) = wksQ.Cells(rng.Row, 13)
straArray(lngZeileArray, 9) = wksQ.Cells(rng.Row, 18)
Next
Gruß Sepp

Anzeige
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 19:08:08
Philip
Hallo Sepp
Danke dir und viel spass mit deinem neuen PC.
Ich habe den Code zwar noch nicht Probieren können aber habe sie mal am tel verglichen, ist das nicht genau das selbe?
Gruss philip
AW: Zahlen suchen mit ersten zwei Ziffern
31.01.2018 20:42:11
Sepp
Hallo Philip,
nein, den zuerst bezog sich .Row auf den falschen Range.
Gruß Sepp

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige