Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Fehlermeldung FInd

Fehlermeldung FInd
ing.grohn
Hallo Forum,
folgende Suchroutine hat immer funktioniert!
Jetzt meldet sie: Type mismatch (Fehler 13) ohne die On Error Zeile
Mit der On Error Zeile wird kein Satz gefunden:
Function NameSuchen(SuchName As String, Taste As String) As Long
Dim Zeile As Long
Dim StrName As String
Dim Suche As Boolean
If StrName  SuchName Then
'On Error GoTo fehler
If Taste = "pgup" Then
Range("A:A").Find(What:=SuchName, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
MatchCase:=False, SearchFormat:=False).Activate
StrName = SuchName
ElseIf Taste = "pgdn" Or Taste = "enter" Then
Range("A:A").Find(What:=SuchName, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
StrName = SuchName
End If
Else
Range("A:A").FindNext(After:=ActiveCell).Activate
End If
Zeile = ActiveCell.Row
Suche = True
NameSuchen = Zeile
Exit Function
fehler:
MsgBox "Ein Datensatz " & Chr(34) & SuchName & Chr(34) & " konnte nicht gefunden werden"
End Function

Hat jemand ne Idee?
Für die Hilfe: danke!
Mit freundlichen Grüßen
Albrecht

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

Betreff
Benutzer
Anzeige
AW: Fehlermeldung FInd
30.05.2010 16:35:40
Tino
Hallo,
versuche es mal so, mansche Sachen verstehe ich nicht in Deinem Code.
Function NameSuchen(SuchName As String, Taste As String) As Long
'Dim StrName As String 
Dim rngRange As Range

'If StrName <> SuchName Then '? 
      If Taste = "pgup" Then
           Set rngRange = Range("A:A").Find(What:=SuchName, LookIn:=xlValues, _
           LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
           MatchCase:=False, SearchFormat:=False)
'           StrName = SuchName 
      ElseIf Taste = "pgdn" Or Taste = "enter" Then
           Set rngRange = Range("A:A").Find(What:=SuchName, LookIn:=xlValues, _
           LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
           MatchCase:=False, SearchFormat:=False)
'           StrName = SuchName 
      End If
'Else 
'      Set rngRange = Range("A:A").FindNext(After:=rngRange) 
'End If 
     
If Not rngRange Is Nothing Then
     NameSuchen = rngRange.Row
Else
     MsgBox "Ein Datensatz " & Chr(34) & SuchName & Chr(34) & " konnte nicht gefunden werden"
End If
End Function
Gruß Tino
Anzeige
AW: Fehlermeldung FInd
30.05.2010 16:58:39
Daniel
Hi
ohne Beispieldatei ist es natürlich schwer, ne konkrete Fehlerursache zu ermitteln, da diese nicht immer nur im Code zu finden sind.
Aber ich kann den von dir beschriebenen Fehler 13 dadurch erzeugen, daß die aktive Zelle nicht in Spalte A liegt.
Du benutzt ja die ActiveCell als Vorgabe für den AFTER-Parameter, und dieser muss bestandteil des durchsuchten Bereichs sein.
ansonsten finde ich deinen Code auch etwas verworren, probier mal das hier:
Function NameSuchen(SuchName As String, Taste As String) As Long
Dim Zelle As Range
Dim SuchR As Long
Select Case Taste
Case "pgup": SuchR = xlPrevious
Case Else: SuchR = xlNext
End Select
Set Zelle = Range("A:A").Find(What:=SuchName, _
After:=Intersect(ActiveCell.EntireRow, Columns(1)), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=SuchR, _
MatchCase:=False, _
SearchFormat:=False)
If Zelle Is Nothing Then
MsgBox "Ein Datensatz " & Chr(34) & SuchName & Chr(34) & " konnte nicht gefunden werden"
NameSuchen = 0
Else
NameSuchen = Zelle.Row
Zelle.Select
End If
End Function
die Fehlerursache habe ich gleich miteleminiert.
Gruß, Daniel
Anzeige
AW: Fehlermeldung FInd
30.05.2010 17:16:36
ing.grohn
Hallo Daniel, Hallo Tino,
ich werde über die "Verworrenheit" nachdenken (die Grundstruktur hab ich irgendwo in einem Excel Buch gefunden und hat funktioniert)
Daniel hat den Fehler entdeckt.
Ich werd ihn beseitigen!
Vielen Dank für Eure Mühe
Mit freundlichen Grüßen
Albrecht
AW: Fehlermeldung FInd
30.05.2010 17:21:00
{Boris}
Hi,
die Grundstruktur hab ich irgendwo in einem Excel Buch gefunden
Wahrscheinlich von einem gewissen B.H. ...?
Hab ich schon oft gesehen, dass da auf die Find-Methode direkt die Activate-Methode gehetzt wird. Das läuft dann konsequent auf einen Fehler, wenn nix gefunden wird.
Grüße Boris
Anzeige
AW: Fehlermeldung FInd
30.05.2010 17:44:52
Daniel
HI
ja, auch in Büchern stehen manchmal unsinnige Sachen drin.
ein bisschen selber denken schadet selten.
gruß, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige