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

Makro Fehlermeldung - Typen unverträglich

Makro Fehlermeldung - Typen unverträglich
25.10.2014 12:28:00
D.
Hallo,
hänge mal wieder mit einem Makro, leider versteh ich das Problem nicht:
Habe ein Makro das in einer Excel problemfrei funktioniert und in einer anderen wird die Fehlermeldung "Typen unverträglich" ausgegeben (Code unten).
Habe den Code unten eingefügt und die Zeile die beim Debuggen gelb angezeigt wird unten fett markiert.
Aufbau und Beschriftung der beiden Excelbereiche ist analog. Mit Format übertragen habe ich hoffentlich erfolgreich versucht, auch die Formatierungen analog zu halten.
Da ich mich mit Makros nicht auskenne wäre die Bitte, ob sich das jemand anschauen kann.
Bei Bedarf lade ich die Beispielexcel hoch.
Danke vorab und schöne Grüsse
Daniel
Sub A_Liste_Schritt_1_Keywords_Thematiken_zusammenbringen()
Dim objThema As Object, objThemaID As Object
Dim rngC As Range
Dim arr, arrKeys
Dim i As Long, j As Long
Set objThema = CreateObject("Scripting.Dictionary")
Set objThemaID = CreateObject("Scripting.Dictionary")
For Each rngC In Range(Cells(4, 8), Cells(Rows.Count, 8).End(xlUp))
objThema(rngC.Value) = 0
    objThemaID(rngC.Value & "_" & rngC.Offset(, 1).Value) = 0
Next
arr = Cells(3, 1).CurrentRegion
arrKeys = objThema.keys
ReDim Preserve arr(1 To UBound(arr), 1 To objThema.Count + 4)
For i = 0 To UBound(arrKeys)
arr(1, i + 5) = arrKeys(i)
Next
For i = 2 To UBound(arr)
For j = 5 To UBound(arr, 2)
If objThemaID.exists(arr(1, j) & "_" & arr(i, 1)) Then
arr(i, j) = "x"
End If
Next
Next
Cells(3, 13).Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispieldatei wo der Fehler auftaucht?
25.10.2014 12:44:22
Tino
Hallo,
eine Beispieldatei wo der Fehler auftaucht wäre nützlich, sonst ist es nur Rätselraten!
Gruß Tino

AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 12:50:47
D.
Hier die Beispieldatei, verkürzt auf 50 Zeilen (Original hat bis zu 10.000 Zeilen). In der Beispieldatei habe ich es getestet und der Fehler tritt wie beschrieben darin auf.
Merci schonmal vorab für eure / deine Zeit, VG, Stefan
https://www.herber.de/bbs/user/93362.xlsx

AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 12:50:58
D.
Hier die Beispieldatei, verkürzt auf 50 Zeilen (Original hat bis zu 10.000 Zeilen). In der Beispieldatei habe ich es getestet und der Fehler tritt wie beschrieben darin auf.
Merci schonmal vorab für eure / deine Zeit, VG, Stefan
https://www.herber.de/bbs/user/93362.xlsx

Anzeige
AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 13:00:22
Tino
Hallo,
liegt daran, weil in der Zelle ein Fehler steht.
Versuch es so und wandle den Fehler in einen Text um.
objThemaID(CStr(rngC.Value) & "_" & CStr(rngC.Offset(, 1).Value)) = 0
Gruß Tino

AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 13:06:29
D.
Bis hierhin gut, konnte es aber noch nicht testen.
Jetzt zeigt er für die zweite fett markierte Zeile denselben "Typen unverträglich" Fehler an - siehe unten.
Ferner die Frage, was du mit "wandle den Fehler in einen Text um" meinst?
Merci Tino für deine Zeit :)
VG, Daniel
Sub A_Liste_Schritt_1_Keywords_Thematiken_zusammenbringen()
Dim objThema As Object, objThemaID As Object
Dim rngC As Range
Dim arr, arrKeys
Dim i As Long, j As Long
Set objThema = CreateObject("Scripting.Dictionary")
Set objThemaID = CreateObject("Scripting.Dictionary")
For Each rngC In Range(Cells(4, 8), Cells(Rows.Count, 8).End(xlUp))
objThema(rngC.Value) = 0
objThemaID(CStr(rngC.Value) & "_" & CStr(rngC.Offset(, 1).Value)) = 0
Next
arr = Cells(3, 1).CurrentRegion
arrKeys = objThema.keys
ReDim Preserve arr(1 To UBound(arr), 1 To objThema.Count + 4)
For i = 0 To UBound(arrKeys)
arr(1, i + 5) = arrKeys(i)
Next
For i = 2 To UBound(arr)
For j = 5 To UBound(arr, 2)
 If objThemaID.exists(arr(1, j) & "_" & arr(i, 1)) Then
arr(i, j) = "x"
End If
Next
Next
Cells(3, 13).Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub

Anzeige
AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 13:27:46
Tino
Hallo,
ich meine wenn nicht ausgeschlossen werden kann das in den Zellen ein Fehlerwert steht
musst du diesen umwandeln in einen Text.
aus
rngC.Value
wird
cstr(rngC.Value)
oder aus
rngC.Value
wird
rngC.Text
Gruß Tino

AW: Beispieldatei wo der Fehler auftaucht?
25.10.2014 13:35:51
D.
Ok Tino, verstanden. Ich habe in der Quelle dafür gesorgt, dass keine Fehlerwerte auftauchen, dann funktioniert es. Super, Danke Dir vielmals für deine Unterstützung.
Netten Samstag noch.
VG, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige