TextBox - Buchstaben statt Zahlen
26.07.2003 15:56:52
Erich M.
ich habe nachfolgendes Makro mit dem ich Werte in einer Tabelle suchen kann.
Wenn ich Zahlen suche ist das kein Problem.
Wenn ich aber einen Namen wie Erich oder nur einen Buchsteben a suche, geht es nicht.
Suchbegriff ist: myWert in TextBox1
Kann das geändert werden?
Private Sub CommandButton1_Click()
Dim zeile1 As Long, zeile2 As Long, Tab1 As Worksheet, Tab2 As Worksheet
Dim myName1 As String, Auswahl As String, myDatei As String
Dim myWert As Integer, mySpalte As Integer
Dim myName2 As String, gefunden As Boolean
Dim zelle As Range, Tb(1 To 15) As Worksheet, zeile As Long
If ComboBox1.Text = "" Then MsgBox "Bitte Datei auswählen.", 48, "Hinweis": Exit Sub
If ComboBox2.Text <> "" Then Set Tb(1) = Workbooks(ComboBox1.Text).Worksheets(ComboBox2.Text) Else MsgBox "Bitte Tabellenblatt 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox3 = "" Then MsgBox "Beschreibung auswählen.", 48, "Hinweis": Exit Sub
If ComboBox4 = "" Then MsgBox "Bitte Suchspalte auswählen.", 48, "Hinweis": Exit Sub
myDatei = ComboBox1.Text 'Datei in der gesucht wird
myWert = TextBox1.Text 'Suchbegriff Wert
Auswahl = ComboBox3.Text 'kleiner oder gleich
myName1 = ComboBox2.Text 'Suchtabelle
mySpalte = ComboBox4.Text 'Suchspalte in Suchtabelle
Workbooks(ComboBox1.Text).Activate
Sheets(ComboBox2.Text).Select
Range("A1").Select
Set Tab1 = Sheets(ComboBox2.Text) ' = Ausgangstabelle, Suchtabelle
TabAuswahl
Sheets("Gefundene Werte").Cells.Clear
Sheets("Gefundene Werte").Cells(1, 1) = "Der Wert " & Auswahl & " " & myWert & _
" wurde in der Datei " & myDatei & ", Tabelle " & myName1 & _
", in der Spalte " & mySpalte & " gefunden"
Set Tab2 = Sheets("Gefundene Werte") ' = Eingabetabelle
If Auswahl = "=" Then
If Tab2.Cells(1, 1) = "" Then zeile2 = 2 Else zeile2 = Tab2.Cells(65536, 1).End(xlUp).Row + 1
For zeile1 = mySpalte To Tab1.Cells(65536, mySpalte).End(xlUp).Row
If Tab1.Cells(zeile1, mySpalte) = myWert Then Tab1.Rows(zeile1).Copy Tab2.Rows(zeile2)
zeile2 = Tab2.Cells(65536, 1).End(xlUp).Row + 1
Next
ElseIf Auswahl = "<" Then
If Tab2.Cells(1, 1) = "" Then zeile2 = 2 Else zeile2 = Tab2.Cells(65536, 1).End(xlUp).Row + 1
For zeile1 = mySpalte To Tab1.Cells(65536, mySpalte).End(xlUp).Row
If Tab1.Cells(zeile1, mySpalte) < myWert Then Tab1.Rows(zeile1).Copy Tab2.Rows(zeile2)
zeile2 = Tab2.Cells(65536, 1).End(xlUp).Row + 1
Next
End If
Unload Me
Sheets("Gefundene Werte").Activate
Range("B2").Select
ActiveWindow.FreezePanes = True
Range("J1").Select
End Sub
Code eingefügt mit: Excel Code Jeanie
Besten Dank für eine Hilfe!
mfg
Erich