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

Range Typen unverträglich

Range Typen unverträglich
14.01.2019 20:27:31
StapelChips-Liebhaber
Hallo zusammen,
ich habe das Problem, dass bei einem Vergleich eines Wertes mittels Range.Value, die Meldung "Typen unverträglich" kommt. Das Ganze kommt aber nur, wenn ich den Vergleich auf einer größeren Excel-Datei laufen lasse mit mehreren Reitern und dort die genutzten Zellen vergleiche. Mache ich das gleiche bei weniger großen & komplexen Dateien, funktioniert es.
nach etwas Suche bin ich im Forum auf diesen Beitrag gestoßen: https://www.herber.de/forum/archiv/1292to1296/1293814_Range_Typen_unvertraeglich.html
Leider ist die dort verfasste Antwort nicht mehr verfügbar...
Hier mal mein Code (etwas ausgedünnt, sollte aber alles drin sein).
Das Problem beginnt hinter der For Each-Schleife
Sub Vergleich_Arbeitsmappen()
Dim iWS As Integer
Dim rngObj As Range
Dim wbWIPTracker As Workbook, wbWIPTrackerBackup As Workbook, wbCockpit As Workbook
Dim NewDocName As String, WIPTracker As String, WIPTrackerBackup As String, PathName As String
Dim wsTemp As Worksheet, wsSet As Worksheet, NewSheet As String
Set wbCockpit = Workbooks(ThisWorkbook.Name)
Set wsTemp = Sheets("DailyDrumbeat-Cockpit_TEMPLATE")
Set wsSet = Sheets("Einstellungen")
NewSheet = "DailyDrumbeat-Cockpit"
'Tabellenvergleich
'Vergleich der benutzen Zellen
For iWS = 1 To wbWIPTracker.Worksheets.Count
If wbWIPTracker.Worksheets(iWS).UsedRange.Cells.Count  wbWIPTrackerBackup.Worksheets( _
iWS).UsedRange.Cells.Count Then
MsgBox "Die Anzahl der benutzen Zellen in Blatt " & iWS & " " & "ist  _
unterschiedlich! Vergleich wird hier abgebrochen."
Exit Sub
End If
'Vergleich der Zellinhalte (für alten Wert)
i = 56 'Spalte für Ausgabe
For Each rngObj In wbWIPTracker.Worksheets(iWS).UsedRange
If rngObj.Value  wbWIPTrackerBackup.Worksheets(iWS).Range(rngObj.Address).Value  _
Then
wbWIPTracker.Worksheets(iWS).Activate
ActiveSheet.Range(rngObj.Address).Activate
wbWIPTrackerBackup.Worksheets(iWS).Activate
ActiveSheet.Range(rngObj.Address).Activate
'MsgBox "Unterschied wurde im Reiter '" & Worksheets(iWS).Name & "' in Zelle " & _
rngObj.Address(False, False) & " entdeckt!"
wbCockpit.Sheets(NewSheet).Range("O" & i).Value = Worksheets(iWS).Name           _
'Tabellenname
wbCockpit.Sheets(NewSheet).Range("P" & i).Value = rngObj.Address(False, False)   _
'Zelle
wbCockpit.Sheets(NewSheet).Range("R" & i).Value = Range(rngObj.Address(False,  _
False)).Value     'Inhalt
i = i + 1
End If
Next
'Vergleich der Zellinhalte (für neuen Wert)
i = 56 'Spalte für Ausgabe
For Each rngObj In wbWIPTrackerBackup.Worksheets(iWS).UsedRange
If rngObj.Value  wbWIPTracker.Worksheets(iWS).Range(rngObj.Address).Value Then
wbWIPTrackerBackup.Worksheets(iWS).Activate
ActiveSheet.Range(rngObj.Address).Activate
wbWIPTracker.Worksheets(iWS).Activate
ActiveSheet.Range(rngObj.Address).Activate
wbCockpit.Sheets(NewSheet).Range("Q" & i).Value = Range("B" & rngObj.Row).Value  _
'Inhalt Spalte B (SAP Arbeitsschrittzusammenfassung)
wbCockpit.Sheets(NewSheet).Range("S" & i).Value = Range(rngObj.Address(False,  _
False)).Value     'Inhalt / Wert
i = i + 1
End If
Next
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Range Typen unverträglich
14.01.2019 21:35:36
Gerd
Moin,
i = 56 'Spalte für Ausgabe
Die nicht deklarierte Variable wird als Zeilen-Variable, nicht als Spalten-Variable genutzt, z.B.bei
.Range("Q" & i).Value
Die Workbooks-Variablen sollten alle mit der Set-Anweisung eine Datei zugewiesen bekommen.
Soviel mal auf die Schnelle. Musterdateien u. eingesetzter Code, mit denen der Fehler auftritt,
wären sicher zielführend.
Gruß Gerd
AW: Range Typen unverträglich
14.01.2019 21:51:53
StapelChips-Liebhaber
Hey Gerd,
danke für die schnelle Antwort.
Folgende Zeile fehlte:
Dim i As Long, j As Long, k As Long, l As Long
Die Workbooks sind unter den dim Variablen mit Set deklariert worden.
Datei mit dem kompletten Code könnte ich Uploaden, die Dateien welche verglichen werden sollen kann ich so leider nicht komplett uploaden.
Anzeige
AW: Das ist nur ein Doppel, ...
15.01.2019 00:51:14
StapelChips-Liebhaber
Hilft mir leider noch nicht weiter.
Ich habe einfach das Gefühl, dass die Range "überläuft". Also entweder nimmt er von der UsedRange zu viel und deswegen ein Überlauf ODER es ist wirklich ein Typen Problem - wobei ich das nicht verstehe denn wenn ich zum debuggen die Fkt. in klein Nachbau dann läuft es
Gruß
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige