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

Suchen mit USerform!

Suchen mit USerform!
30.05.2007 16:12:44
Raphael
Hallo UserForm Liebhaber
Ich habe eine Frage:
Kann ich in einer Userform nach2 Kriterien Suchen?
Mein Problem ist, das in B:B verschiedene Datum stehen
und in C:C verschiedene Namen.
Er soll mir jetzt die Reihe finden, in der das richtige Datum und der richtige Namen zu finden sind.
Wie mache ich das? Wie ich nach einem Kriterium suche weis ich :

Private Sub CommandButton4_Click()
Set frm2 = UserForm2
With frm2
Sheets("Sheet2").Select
Range("B:B").Select
Selection.Find(What:=.TextBox6.Value, _
After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
.TextBox1.Value = ActiveCell.Offset(0, 3).Value
.TextBox2.Value = ActiveCell.Offset(0, 4).Value
.TextBox3.Value = ActiveCell.Offset(0, 5).Value
.TextBox4.Value = ActiveCell.Offset(0, 6).Value
.TextBox5.Value = ActiveCell.Offset(0, 7).Value
Exit Sub
End With
End Sub


aber wie suche ich nach zwei kriterien?
Danke für eure Hilfe
MFG
Raphael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen mit USerform!
30.05.2007 16:27:00
Rudi
Hallo,
das musst du einzeln vergleichen. Sinnvollerweise liest du das komplette Blatt vorher in ein Array ein. Geht schneller.

Private Sub CommandButton4_Click()
Dim arrTmp, lngTmp As Long
arrTmp = Sheets("Sheet2").Range("A1").CurrentRegion
For lngTmp = 2 To UBound(arrTmp)
With UserForm2
If arrTmp(lngTmp, 2) = .textbox6.Text And arrTmp(lngTmp, 3) = .textbox7.Text Then
.TextBox1.Value = arrTmp(lngTmp, 5)
.TextBox2.Value = arrTmp(lngTmp, 6)
.TextBox3.Value = arrTmp(lngTmp, 7)
.TextBox4.Value = arrTmp(lngTmp, 8)
.TextBox5.Value = arrTmp(lngTmp, 9)
Erase arrTmp
Exit For
End If
End With
Next lngTmp
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige