Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: range Objekt kann nicht verwendet werden

range Objekt kann nicht verwendet werden
10.01.2021 11:56:18
Paul
Moin,
ich möchte in meinem Projekt zum ersten Mal das Range-Objekt nutzen.
Bisher habe ich eine Range in VBA immer über einen Zellbezug manuell hergestellt:
Sheets("Daten").range(Sheets("Daten").Cells(1, 1), Sheets("Daten").Cells(5, 5))
Ich bin bisher nie in die Verlegenheit gekommen eine Variable als Range anzulegen oder gar Ranges zwischen Funktionen hin- und herzugeben.
Nun habe ich gemerkt, dass ich "range" so nicht nutzen kann.
Folgende Funktion geht nicht durch den Compiler:

Private Sub Test()
Dim testrange As range
Set testrange = range("A1:B2")
End Sub

Dabei wird "Range" immer automatisch klein formatiert zu "range".
Wenn ich kompilieren lasse erhalte ich folgenden Fehler:
Fehler beim Kompilieren: Ein Modul hat einen unzulässigen Typ
Auch Funktionsübergaben mit "Range" in der Parameterliste funktionieren nicht. Hier zum Beispiel das Worksheet_SelectionChange Ereignis was ich gerne nutzen wollte:

Private Sub Worksheet_SelectionChange(ByVal Target As range)
End Sub

Auch hier erlaubt er nur "range" statt "Range" und gibt wieder die obige Fehlermeldung aus.
Ich kann im Internet niemanden finden, der das selbe Problem hat. Habt ihr irgendwelche Anregungen was ich noch ausprobieren kann? Fehlt noch irgendein VBA-Verweis?
Den einzigen Hinweis im Internet konnte ich finden, dass jemand statt "range" dann "Excel.Range" geschrieben hat. Wenn ich das bei mir so eingebe friert Excel ein und kann nur durch einen Prozess-Kill wieder neugestartet werden.
Ich benutze Microsoft Office Home and Student 2019 und habe auch leider kein alternatives Office zum Testen zur Verfügung.
Danke für Eure Hilfe und liebe Grüße
Paul
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: range Objekt kann nicht verwendet werden
10.01.2021 11:58:35
Hajo_Zi
Hallo Paul,
Du hast in
Sheets("Daten").Cells(1, 1) und Sheets("Daten").Cells(5, 5)
Zelladressen zu stehn?
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: range Objekt kann nicht verwendet werden
10.01.2021 12:05:35
onur
Poste die datei - wahrscheinlich hast du "range" irgendwo als Variablennamen benutzt.
AW: range Objekt kann nicht verwendet werden
10.01.2021 12:19:37
Paul
Moin,
das ging ja fix. Vielen lieben Dank für eure schnellen Antworten.
@onur: Du lagst genau richtig! Vielen Dank für deine schnelle Antwort. Ich hatte ein Modul mit Namen "range" mit dem ich mir bestimmte Datengrößen, etc... aus der Tabelle ausgelesen habe. Das Modul habe ich nun umbenannt und schon gibt es keinen Compilerfehler mehr. Danke!
Komischweise wird "Range" immer noch auf "range" klein formatiert. Das sieht man so nirgends im Internet...
Anzeige
AW: range Objekt kann nicht verwendet werden
10.01.2021 16:46:58
Mullit
Hallo,
VBA merkt sich Deine letzte fehlerhafte/ungünstige Notation, um das rückgängig zu machen, mußt Du noch einmal Dein Modul als Range bezeichnen, und dann wieder mit einem normalen Namen...Merke: Schlüsselwörter, wie VBA-eigene Klassen-, oder Typennamen niemals für eigene Deklarationsbez. verwenden.
Es bleibt einem noch die Mögl. auch für Module die ungar. Notaion zu verwenden, i.d.F dann : basRange....
Gruß, Mullit
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige