Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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

Fehler 13

Fehler 13
05.11.2017 13:51:27
Jürgen
Hallo,
ärgere mich nun schon einige Zeit mit dem "berühmten" Fehler 13
(Typen unverträglich) rum. Er tritt auf bei der Nutzung von Application.Match
Er kommt aber nur, wenn der Suchwert nicht im Array steht. Wird er gefunden, dann läuft alles...
Hier mein Test-Code:
Sub Durchsuchen()
Dim arr As Variant
Dim iRow As Integer
Dim q As String
q = "irgendwas3"
arr = Range("A1:A16")
iRow = Application.Match(q, arr, 0)
MsgBox "An " & iRow & " .Stelle gefunden"
End Sub

Hier meine Daten im Bereich A1:A16
qwert
fghzu
irgendwas1
qwes
c
fghzu
r
tt
z
u
irgendwas2
we
nnn
rt
zu
g
Darüber gibt es ja viele Beiträge welche man über Google findet.
Habe auch schon viel gelesen aber den Fehler habe ich noch nicht gefunden.
Sicher kann man die Suche auch anders lösen, mir geht es aber darum, warum
Application.Match nicht funktioniert...
Grüß Jürgen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Drittes Argument müsste 1 sein, und ...
05.11.2017 13:59:06
lupo1
... infolgedessen die Daten sortiert.
Oder Du belässt es bei 0, sorgst aber für Übereinstimmung ("irgendwas3" ist nicht enthalten)
AW: Drittes Argument müsste 1 sein, und ...
05.11.2017 14:42:03
Jürgen
Hallo,
Danke für die schnelle Antwort,
Das wäre eine gute Idee um das Problem zu lösen.
Ich füge zu einem Array mit unbestimmter Länge vor dem Suchvorgang das
Suchwort ein und teste ob das Ergebnis dann der letzte Eintrag ist.
(Wenn ja), dann Suchwort nicht gefunden...
trotzdem, warum kommt die Fehlermeldung bei "nicht gefunden" Fehler 13
Gruß Jürgen
Was nicht da ist, kann nicht gefunden werden
05.11.2017 14:48:15
lupo1
... mit 0 suchst Du genau, nicht ungefähr!
AW: Fehler 13
05.11.2017 14:48:18
onur
Versuch mal statt
Dim iRow As Integer
das:
Dim iRow As Long
oder
Dim iRow
Anzeige
AW: Fehler 13
05.11.2017 15:22:46
Jürgen
Danke für den Tipp, habe ich getestet, geht leider auch nicht,
mittels Fehlerbehandlung funktioniert es aber...
Gruß
einfach Fehlerbehandlung einbauen ...
05.11.2017 15:12:46
Matthias
Hallo
Fang das mit einer Fehlerbehandlung ab
Option Explicit
Sub Durchsuchen()
Dim arr As Variant
Dim iRow As Integer
Dim q As String
On Error GoTo NichGefunden
q = "irgendwas3"
arr = Range("A1:A16")
iRow = Application.Match(q, arr, 0)
MsgBox "An " & iRow & " .Stelle gefunden"
Exit Sub
NichGefunden:
MsgBox "[" & q & "] wurde nicht gefunden", vbInformation
End Sub
Gruß Matthias
AW: einfach Fehlerbehandlung einbauen ...
05.11.2017 15:20:39
Jürgen
Danke Matthias,
das funktioniert und hilft mir weiter.
Wenn ich iRow als Variant definiere dann bekommt iRow bei
Nichtfinden den Fehler 2042 Wert zugewiesen.
nun kann ich den Fehler auch abfangen,
danke
Gruß Jürgen
Anzeige
ich nehme bei Zeilen immer ... Long ... owT
05.11.2017 16:08:09
Matthias
AW: Abfangbaren Fehler auswerten
05.11.2017 15:24:55
Gerd
Hallo,
noch einfacher.
Sub Durchsuchen()
Dim arr As Variant
Dim vRow As Variant
Dim q As String
q = "irgendwas3"
arr = Range("A1:A16")
vRow = Application.Match(q, arr, 0)
If IsError(vRow) Then
MsgBox "[" & q & "] wurde nicht gefunden", vbInformation
Else
MsgBox "An " & vRow & " .Stelle gefunden"
End If
End Sub

Gruß Gerd
AW: Fehler 13
05.11.2017 15:35:31
onur
Oder statt die Excel-Funktion "Match" mit Application.Match in VBA simulieren zu wollen, direkt die VBA-Funktion "Find" benutzen, und mit "If ...Is Nothing" abfangen, wenn nix gefunden wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige