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
Macro: Suchen mit in einer UserForm
24.05.2007 10:59:00
Raphael
Hallo
Ich habe eine Frage!
mein Macro findet zwar die gewünschte Zelle (zumindest Markiert er Sie) gibt mir aber trotzdem die Fehlermeldung.
Was habe ich da falsch gemacht? kann mir jemand dabei Helfen?
Danke
MFG
rapahel

Private Sub CommandButton3_Click()
Set frm2 = UserForm1
With frm2
Sheets("Eingabe").Select
Range("A:A").Select
On Error GoTo fehler
Selection.Find(What:=.TextBox4.Value, _
After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox3.Value = ActiveCell.Offset(0, 2).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
fehler:
MsgBox "Kein Fragebogen mit der Nummer : " & _
.TextBox4.Value & " gefunden"
End With
End Sub


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro: Suchen mit in einer UserForm
24.05.2007 11:02:00
AndrRo
Hallo Raphael,
setze vor Fehler: ein Exit Sub
Also
Exit Sub
Fehler:
Sonst wir auch bei keinen Fehler die Fehlermeldung abgearbeitet.
gruss
Andreas

AW: Macro: Suchen mit in einer UserForm
24.05.2007 11:13:31
Raphael
Hallo Andreas
Danke! so gehts. ich habe da aber gleich noch ne Frage, wie kann ich CheckBoxen finden? mit OptionButton funktioniert es! was mach ich da Falsch?
Danke

Private Sub CommandButton3_Click()
Set frm2 = UserForm1
With frm2
Sheets("Eingabe").Select
Range("A:A").Select
On Error GoTo fehler
Selection.Find(What:=.TextBox4.Value, _
After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox3.Value = ActiveCell.Offset(0, 2).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
If ActiveCell.Offset(0, 4).Value = "TRUE" _
Then .CheckBox1.Value = True _
Else .CheckBox1.Value = False
Exit Sub
fehler:
MsgBox "Kein Fragebogen mit der Nummer : " & _
.TextBox4.Value & " gefunden"
End With
End Sub


Anzeige
AW: Macro: Suchen mit in einer UserForm
24.05.2007 11:16:00
Dan
Hi Raphael,
exit sub faehlt, und falls nichts gefunden wird, gibt Find Nothing zurueck, und Nothing kann man nicht selectieren ...

Private Sub CommandButton3_Click()
dim findResult
Set frm2 = UserForm1
With frm2
Sheets("Eingabe").Select
Range("A:A").Select
On Error GoTo fehler
set findResult = Selection.Find(What:=.TextBox4.Value, _
After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
if (findResult is nothing)then
msgbox "Not found ..."
exit sub
end if
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox3.Value = ActiveCell.Offset(0, 2).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
.TextBox2.Value = ActiveCell.Offset(0, 1).Value
exit sub
fehler:
MsgBox "Kein Fragebogen mit der Nummer : " & _
.TextBox4.Value & " gefunden"
End With
End Sub


Anzeige
AW: Macro: Suchen mit in einer UserForm
24.05.2007 11:20:08
Dan
...ja und so wie Du es hast, sollte man noch else Zweig hinzufuegen:
if (findResult is nothing)then
msgbox "Not found ..."
exit sub
else
findResult.activate
end if
Gruss Dan, cz.

AW: Macro: Suchen mit in einer UserForm
24.05.2007 11:25:00
Luschi
Hallo Raphael,
beim Suchen in Tabellen sollte man wie folgt vorgehen:
- Anlegen von 2 Objekt-Variablen vom Typ Range (rg1 ist der Suchbereich, rg2 die Ergebnisvariable)
- Find-Befehl ohne .Activate ausführen
- Ergebnis der Suche in eine Objektvariable von Typ Range schreiben (rg2)
- wurde keine Zelle gefunden, dann ist diese Objektvariable (rg2) leer (Nothing)
- zum Schluß alle Objektvariablen aif Nothing stellen
- damit erspart man sich das On Error und hat immer definierte Zustande
- Select/Activate-Befehle sollte man vermeiden
- und so sieht's in der Praxis aus:;

Private Sub CommandButton3_Click()
Dim rg1 As Range, rg2 As Range
Set frm2 = UserForm1
Set rg1 = Worksheets("Eingabe").Range("A:A")
Set rg2 = rg1.Find(What:=.TextBox4.Value, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not (rg2 Is Nothing) Then
''1 Zelle mit Suchwert wurde gefunden
With frm2
.TextBox1.Value = rg2.Offset(0, 1).Value
.TextBox2.Value = rg2.Offset(0, 2).Value
.TextBox3.Value = rg2.Offset(0, 3).Value
End With
Else
MsgBox "Kein Fragebogen mit der Nummer : " & _
frm2.TextBox4.Value & " gefunden"
End If
Set rg1 = Nothing
Set rg2 = Nothing
Set frm2 = Nothing
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige