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

Typenkonflikt Range objekt

Typenkonflikt Range objekt
09.05.2022 14:09:03
Chris
Schönen guten Tag,
Ich verzweifele gerade an einem vermutlich einfachen Problem.
Ich benutze diesen Code Abschnitt um curCell zuzuweisen:
Set curCell = wbQuelle.Worksheets(Tabelle4).Cells(counter, 2)
curCell wurde zuvor als Range dimensioniert.
Wenn ich den Code ausführe bekomme ich für diesen Code Abschnitt "Laufzeitfehler '13': Typen unverträglich" angezeigt.
Woran liegt das?
Vielen Dank
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Typenkonflikt Range objekt
09.05.2022 14:15:32
ChrisL
Hi Chris
Ich denke das Problem könnte durch eine der anderen Variablen verursacht sein.
So müsste Tabelle4 eine Stringvariable sein. Und falls du den Codename ansprechen willst, einfach nur:
Set curCell = Tabelle4.Cells(counter, 2)
cu
Chris
AW: Typenkonflikt Range objekt
09.05.2022 14:17:20
Rudi
Hallo,
Set curCell = wbQuelle.Worksheets("Tabelle4").Cells(counter, 2)
wenn Tabelle4 der Name des Blatts ist
oder
Set curCell = wbQuelle.Tabelle4.Cells(counter, 2)
wenn Tabelle4 der CodeName des Blatts ist.
Gruß
Rudi
AW: Typenkonflikt Range objekt
09.05.2022 14:27:17
Chris
Vielen Dank Rudi!
Daran lag anscheinend der Fehler. Allerdings bekomme ich jetzt für die gleiche Codezeile den Laufzeitfehler 9: Index außerhalb des gültigen Bereichs. Irgend eine Ahnung woran das liegt?
Anzeige
AW: Typenkonflikt Range objekt
09.05.2022 14:32:02
ChrisL
Hi Chris
Der Fehler bedeutet, dass ein Name z.B. Tabelle4 verwendet wird, aber den Namen gibt es nicht.
Mit folgender Variante...
Worksheets("Tabelle4")
... stellt Tabelle4 den effektiven Blattnamen und nicht den internen Codename dar.
cu
Chris
AW: Typenkonflikt Range objekt
09.05.2022 14:37:39
Chris
Vielen Dank Chris,
Du hast Recht, wenn ich den tatsächlichen Blattnamen anspreche ist der Fehler weg.
Vielen Dank nochmal Chris & Rudi!
AW: Typenkonflikt Range objekt
09.05.2022 14:29:52
ChrisL
Hi Rudi
Nur ein kleiner Hinweis zu Variante 2. Der Codename kann m.E. nur für ThisWorkbook angewendet werden bzw. die Referenzierung mit WB und Codename führt zum Fehler.
Und daran, dass Tabelle4 evtl. bereits einen String und keine Variable darstellt, habe ich nicht gedacht. Guter Punkt :)
cu
Chris
Anzeige
Codename nur für ThisWorkbook?
09.05.2022 15:02:10
Luc:-?
Das stimmt nur bedingt, Chris.
Falls stets mehrere Xl-Dateien geöffnet sind, müssen sich deren CodeNames voneinander unterscheiden, denn jeder kann sich immer nur direkt auf ein Objekt beziehen, also CodeNames von Workbooks nur auf diese in der jeweiligen Gesamtheit ihrer Blätter, CodeNames von Worksheets nur auf das jeweilige (ohne Workbook-Angabe), weshalb sich deren CodeNames auch auf dieser Ebene voneinander unterscheiden müssen. Das setzt systematische Umbenennungen der CodeNames voraus, die für Workbooks auch erforderlich sind, wenn man sie als Code-Quelle (externer Bezug) im VBE festlegen will.
Anzeige
AW: Codename nur für ThisWorkbook?
09.05.2022 15:23:56
ChrisL
Hi Luc
Danke für deinen Input. Vielleicht habe ich diesen falsch verstanden, aber folgendes Szenario:
Mappe1.xlsm:
- Enthält ein Tabellenblatt mit Codename "xyz" (irgendwas, nur nicht Tabelle1 zur Vermeidung von Konflikten)
Mappe2.xlsx:
- Enthält ein Tabellenblatt mit Codename "Tabelle1"
Beide Dateien sind gespeichert und geöffnet.
In Mappe1.xlsm führe ich z.B. folgendes Makro aus:
MsgBox Tabelle1.Range("A1")
Ergibt: Fehler beim Kompilieren, Variable nicht definiert. (Tabelle1 wird nicht erkannt, obwohl die andere Datei offen ist)
Daraus schlussfolgere ich, dass man Tabellen nur innerhalb der Datei in der sich das Makro befindet (ThisWorkbook) mittels Codename ansprechen kann.
Etwas anderes ist, wenn man den Codename nur lesen will:
https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.codename
cu
Chris
Anzeige
Versuch's mal umgekehrt! owT
10.05.2022 04:03:21
Luc:-?
:-?
Verstehe ich nicht...
10.05.2022 09:41:40
ChrisL
Wie umgekehrt? Mit Application.Run oder in welche Richtung denkst du?
Sorry, ich kapiere nicht, worauf du hinaus willst.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige