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

laufzeitfehler 13 typen unverträglich be

laufzeitfehler 13 typen unverträglich be
04.01.2022 21:58:46
Stefan
Hallo Zusammen.
ich habe ein Makro das mir aus einer Spalte die Werte zurück gibt
ab Zeile 10
wenn aber in der Spalte ab Zeile 10 kein Werte vorhanden sind bekomme ich den Laufzeitfehler 13
hier sollte entweder nix pasieren oder die MsgBox sagen " keine Werte"

Sub Test()
Dim oWert As Object, i As Long, Tmp
Set oWert = CreateObject("Scripting.dictionary")
Tmp = Range(Cells(10, 2), Cells(Rows.Count, 2).End(xlUp))
For i = 1 To UBound(Tmp)                         ' hier bleit das Makro stehen mit dem Laufzeitfehler. 13
If Rows(i + 9).EntireRow.Hidden = False Then
oWert(Tmp(i, 1)) = 0
End If
Next
MsgBox Join(oWert.keys, vbLf)
End Sub
wie kann ich diesen fehler beheben
Gruß Stefan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: laufzeitfehler 13 typen unverträglich be
04.01.2022 22:49:40
PawelPopolski
Bei mir läuft der Code sauber durch.
AW: laufzeitfehler 13 typen unverträglich be
04.01.2022 23:50:50
ralf_b
TMP ist in dem beschriebenen Fall kein Datenfeld und es kann kein Ubound funktionieren. Deshalb vorher prüfen ob Werte enthalten sind bzw welchen Typ(Typename) TMP hat.
AW: laufzeitfehler 13 typen unverträglich be
05.01.2022 09:39:56
Stefan
hallo ralf_b
danke erst mal für deinen Hinweis
leider sind meine VBA kentnisse nicht die besten
wie oder was müsste ich da wo abfragen?
könntest du mir da noch mal behilflich sein
Gruß Stefan
AW: laufzeitfehler 13 typen unverträglich be
05.01.2022 15:29:54
Yal
Hallo Stefan,

Sub Test()
Dim oWert As Object
Dim i As Long
Set oWert = CreateObject("Scripting.dictionary")
For i = 10 To Cells(Rows.Count, 2).End(xlUp).Row
If Rows(i).EntireRow.Hidden = False Then oWert(Cells(i, 2)).Value = 0
Next
MsgBox Join(oWert.keys, vbLf)
End Sub
Vielleicht wäre es auch besser, die Microsoft Scripting Runtime Library von vorne rein anzubinden: im VB-Editor: Extras, Verweise, Haken bei Microsoft Scripting Runtime
VG
Yal
Anzeige

146 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige