Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
452to456
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
452to456
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Datum suchen in einer UF
15.07.2004 14:08:29
Erwin
Hallo Excel-Freunde,
ich habe mir in meiner UF eine Suchfunktion eingebaut, mit der ich nach Namen oder Vornamen suchen kann:
Private Sub CmdSuchen_Click()
Dim name As String, vorname as String
Dim erg as Range
If txtName "" Then ‘Textfeld Name in der UF
GoTo name
ElseIf txtVorname "" Then ‘Textfeld Vorname in der UF
GoTo vor
End If
name:
name = txtName
With Worksheets("Tabelle1").Range("A:A")
Set erg = .Find(name, LookIn:=xlValues)

vor:
vorname = txtVorname
With Worksheets("Tabelle1").Range("B:B")
Set erg = .Find(vorname, LookIn:=xlValues)

Das alles klappt wunderbar, jetzt möchte ich aber zusätzlich noch mit dem Geb.-Datum suchen können und da klappts nicht mehr.
Ich habe mir eine Datumsvariable geb angelegt und bei der GoTo-Verzweigung folgendes geschrieben:
geb:
geb = CDate(txtGebDat)

Was habe ich falsch gemacht?
Vielleicht hat jemand eine Lösung für mich
Danke im voraus
Erwin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum suchen in einer UF
Ulf
Wie geht der Code weiter, das ist das Wichtige...
Ulf
AW: Datum suchen in einer UF
15.07.2004 15:31:04
Erwin
Hallo Ulf
das ist der kompl. Code:

Private Sub CmdSuchen_Click()
Dim name As String, vorname as String
Dim erg As Range
Dim SB1 As String
Dim SB2 As String
Dim LW, BildName, BildDatei
Dim geb As Date
If txtName <> "" Then
GoTo name
ElseIf txtVorname <> "" Then
GoTo vor
ElseIf txtGeb <> "" Then
GoTo geb
End If
name:
name = txtName
With Worksheets("Tabelle1").Range("A:A")
Set erg = .Find(name, LookIn:=xlValues)
If Not erg Is Nothing Then
firstAddress = erg.Address
Do
erg.EntireRow.Select
txtName = ActiveCell.Value
txtVorname = ActiveCell.Offset(0, 1).Value
txtGeb = ActiveCell.Offset(0, 2).Value
txtStr = ActiveCell.Offset(0, 3).Value
txtPLZ = ActiveCell.Offset(0, 4).Value
txtWohn = ActiveCell.Offset(0, 5).Value
txtTel = ActiveCell.Offset(0, 6).Value
txtHandy = ActiveCell.Offset(0, 7).Value
txtBild = ActiveCell.Offset(0, 8).Value
SB1 = txtName
SB2 = txtVorname
LW = "D:\Fotos\"
BildName = SB1 & "_" & SB2
BildDatei = LW & BildName & ".jpg"
If Dir(BildDatei) <> "" Then
Image1.Picture = LoadPicture(BildDatei)
End If
If MsgBox("Weitersuchen?", vbOKCancel + vbQuestion, "Weitersuchen-Dialogfenster") = vbCancel Then Exit Sub
Set erg = .FindNext(erg)
Loop While Not erg Is Nothing And erg.Address <> firstAddress
Else
MsgBox "Es wurde keine Person mit dem Suchbegriff " & name & " gefunden", vbExclamation, "Negativ-Auskunft"
End If
End With
vor:
vorname = txtVorname
With Worksheets("Tabelle1").Range("B:B")
Set erg = .Find(vorname, LookIn:=xlValues)
If Not erg Is Nothing Then
firstAddress = erg.Address
Do
erg.EntireRow.Select
txtName = ActiveCell.Value
txtVorname = ActiveCell.Offset(0, 1).Value
txtGeb = ActiveCell.Offset(0, 2).Value
txtStr = ActiveCell.Offset(0, 3).Value
txtPLZ = ActiveCell.Offset(0, 4).Value
txtWohn = ActiveCell.Offset(0, 5).Value
txtTel = ActiveCell.Offset(0, 6).Value
txtHandy = ActiveCell.Offset(0, 7).Value
txtBild = ActiveCell.Offset(0, 8).Value
SB1 = txtName
SB2 = txtVorname
LW = "D:\Fotos\"
BildName = SB1 & "_" & SB2
BildDatei = LW & BildName & ".jpg"
If Dir(BildDatei) <> "" Then
Image1.Picture = LoadPicture(BildDatei)
End If
If MsgBox("Weitersuchen?", vbOKCancel + vbQuestion, "Weitersuchen-Dialogfenster") = vbCancel Then Exit Sub
Set erg = .FindNext(erg)
Loop While Not erg Is Nothing And erg.Address <> firstAddress
Else
MsgBox "Es wurde keine Person mit dem Suchbegriff " & vorname & " gefunden", vbExclamation, "Negativ-Auskunft"
End If
End With
geb:
geb = CDate(txtGeb)
With Worksheets("Tabelle1").Range("C:C")
Set erg = .Find(geb, LookIn:=xlValues)
If Not erg Is Nothing Then
firstAddress = erg.Address
Do
erg.EntireRow.Select
txtName = ActiveCell.Value
txtVorname = ActiveCell.Offset(0, 1).Value
txtGeb = ActiveCell.Offset(0, 2).Value
txtStr = ActiveCell.Offset(0, 3).Value
txtPLZ = ActiveCell.Offset(0, 4).Value
txtWohn = ActiveCell.Offset(0, 5).Value
txtTel = ActiveCell.Offset(0, 6).Value
txtHandy = ActiveCell.Offset(0, 7).Value
txtBild = ActiveCell.Offset(0, 8).Value
SB1 = txtName
SB2 = txtVorname
LW = "D:\Fotos\"
BildName = SB1 & "_" & SB2
BildDatei = LW & BildName & ".jpg"
If Dir(BildDatei) <> "" Then
Image1.Picture = LoadPicture(BildDatei)
End If
If MsgBox("Weitersuchen?", vbOKCancel + vbQuestion, "Weitersuchen-Dialogfenster") = vbCancel Then Exit Sub
Set erg = .FindNext(erg)
Loop While Not erg Is Nothing And erg.Address <> firstAddress
Else
MsgBox "Es wurde keine Person mit dem Suchbegriff " & geb & " gefunden", vbExclamation, "Negativ-Auskunft"
End If
End With
End Sub

Anzeige
AW: Datum suchen in einer UF
Ulf
Abgesehen davon, dass es nicht glücklich ist, die Sprungmarke und die variable
geb:
geb = CDate(txtGeb)
gleich zu benennen und die unseligen Goto- Anweisungen, kann ich
nicht entdecken.
Wird nie ein Datum gefunden? Stimmt das Format der zellen mit dem Format der
Textbox überein?
Ulf
AW: Datum suchen in einer UF
15.07.2004 16:13:07
Erwin
Hallo Ulf
zuerst muss ich sagen, dass ich in VBA noch ziemlich auf wackligen Füssen stehe. Den ganzen Code habe ich mithilfe dieses Forums Baustein für Baustein zusammengebastelt.
Zu deinen Fragen: Es wird nie ein Datum gefunden. Die MsgBox gibt bei aber "Es wurde kein Suchbegriff mit ... gefunden" den Wert des gesuchten Datums aus, also muss die Variable geb den Wert besitzen! Die Zelle in der Tabelle habe ich mit dem Datumsformat formatiert und in der UF ein ganz normales Textfeld angelegt. Muss man das Textfeld extra noch für ein Datum deklarieren?
Gruß Erwin
Anzeige
AW: Datum suchen in einer UF
Ulf
Lad mal ein abgespecktes Beispiel hoch.
Ulf
AW: Datum suchen in einer UF
Erwin
Hallo Ulf
ich hab jetzt eine Lösung! Das Datum ohne Punkt, also als ganz normalen Text (150704) - Dann funktioniert alles wie gehabt. Dies reicht mir, ich muss ja nicht recherchieren mit dem Geburtsdatum.
Ich danke dir für deine Bemühungen! Hauptsache es funktioniert, auch wenn es nicht die Ideallösung ist.
Danke dir nochmals und wünsche einen schönen Tag
Erwin

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige