Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range-Objekt

Forumthread: Range-Objekt

Range-Objekt
25.02.2017 17:03:20
Thomas
Servus,
nur eine kurze Frage vmtl ;)
Ich definiere einen Range, bspw.:
Dim rng As Range
Set rng = .Range("E10:I20")
Gibt es nun eine Nummerierung innerhalb des Range? Also wenn ich an den Range adressiere.. .rng.columns(?).. ist dann Spalte E als Nummer weiterhin 5 oder kann ich sie als 1 ansprechen?
Ich hoffe, ich habe mich klar ausdrücken können.
Besten Dank im Vorraus
Thomas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range-Objekt
25.02.2017 17:09:37
Mullit
Hallo,
klar, geht auch:
Option Explicit
Public Sub test()
Dim rng As Range
Set rng = ActiveSheet.Range("E10:I20")
MsgBox rng.Cells(1, 1).Address '// E10
End Sub

Gruß, Mullit
AW: Range-Objekt
25.02.2017 17:19:31
Thomas
ja nice!
danke dir :) ich merke ich hätte es wohl auch schnell selbst testen können. Sry
VG
Anzeige
AW: Range-Objekt
25.02.2017 17:25:41
Mullit
Hallo,
okidoki, beim nächsten Mal weißt Bescheid...
Gruß, Mullit
AW: Range-Objekt
25.02.2017 17:18:30
Luschi
Hallo Thomas,
starte doch mal folgendes Makro:

Sub test1()
Dim rng As Range
Set rng = ActiveSheet.Range("E10:I20")
Debug.Print rng.Cells(4).Address
Debug.Print rng.Cells(5).Address
Debug.Print rng.Cells(6).Address
End Sub
Ergebnis:$H$10 $I$10 $E$11
Jetzt darfst Du die Stirnfalten glätten und die richtigen Schlußfolgerungen ziehen!
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Range-Objekt
25.02.2017 17:18:50
Daniel
hi
nein, wenn du dich explizit auf auf die Range-Variable rng beziehst, dann sind die Zeilen- und Spaltennummern immer bezogen auf den Bereich der Variablen.
dh rng.column(1) ergibt die erste Spalte des Bereichs, also E10:E20
rng.Column(3) ergibt die dritte Spalte, also G10:G20
beachte, dass das ganze nicht gedeckelt ist.
dh mit rng.column(6) bekommst du J10:J20, obwohl dieser Zellbereich nicht mehr zur Variablen gehört.
ebenso problematisch wird's mit zusammengesetzten Zellbereichen:
set rng = .Range("E10:I20,P10:T20")
denn auch hier wird rng.Column(6) nicht "P10:P20" ergeben, sondern "J10:J20"
Es ist im Prinzip so, dass in diesem Fall die Zeilen- und Spaltennummer von der oberen linken Zelle des Bereichs der Variablen aus gezählt werden (dh die obere Linke Zelle hat den Zeilenindex 1 und den Spaltenindex 1). von dort aus wird gezählt, unabhänig davon ob die angesprochen Zellen überhaupt zur Variablen gehören oder nicht.
Gruß Daniel
Anzeige
AW: Range-Objekt
25.02.2017 17:23:19
Thomas
Wuhu :) Das finde ich am Fragen besser, als am Probieren. Vielen Dank euch dreien, werde alles ausprobieren ;)
;

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