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

Grundlagenfragen zu Dim und Set usw.

Grundlagenfragen zu Dim und Set usw.
Jörg-HH
Guten Abend zusammen
warum funktioniert in der Beispieldatei https://www.herber.de/bbs/user/70741.xls
der Befehl Range("a1").Value = "bubu" anstandslos, aber wenn ich den Weg mit Set...usw. und rng("a1").Value = "bubu" gehe, klappt nix...?
Grüße - Jörg

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Grundlagenfragen zu Dim und Set usw.
24.07.2010 23:52:30
Nepumuk
Hallo,
weil Range eine Eigenschaft ist die Parameter benötigt. Wenn du alle Zellen einer Tabelle an eine Objektvariable verweisen willst, musst du die Cells-Eigenschaft benutzen. Wenn du dieser Eigenschaft keine Item-Eigenschaft mit gibst, liefert sie dir alle Zellen einer Tabelle zurück.
Gruß
Nepumuk
rng als OBJEKT + Synonym für Range
25.07.2010 00:03:33
NoNet
Hallo Jörg,
mit Dim rng as Range definierst Du diese Variable als Objekt-Variable (das ist ein RANGE !!).
Daher musst Du dieser Varablen auch ein Object vom Typ RANGE zuweisen.
Ein Range ist ein Tabellenblattbereich, also eine einzelne Zelle, mehrere Zellen, eine oder mehrere Spalten oder Zeilen oder zahlreiche nicht zusammenhängende Zellbereiche.
Dem zugeordneten Bereich kannst Du dann einen Wert geben, hier ein funktionierendes Beispiel :
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Tabelle1").Range("A1")
rng.Value = "bubu"
Die Variable rng wird also quasi als Synonym für ThisWorkbook.Worksheets("Tabelle1").Range("A1") verwendet !
rng("A1") gibt es in diesem Sinn nicht, da "A1" ja bereits der zugewiesene Bereich ist !
Du könntest allenfalls einer bestimmten Zelle in diesem zugeordneten Bereich einen Wert zuweisen :
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Tabelle1").Range("A1:C10")
rng(2,2).Value = "abc" '2 Zeile, 2.Spalte des zugewiesenen Bereiches => Zelle B2
Gruß, NoNet
Anzeige
Verstanden. - Danke, Jungs...! oT
25.07.2010 11:47:33
Jörg-HH

99 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige