Herbers Excel-Forum - das Archiv
UsedRange bei VBA
Betrifft: UsedRange bei VBA
von: Ben
Geschrieben am: 28.10.2003 13:45:59
Hallo,
ich habe folgendes Problem: Nehmen wir an, in einem Excel-Arbeitsblatt sind die Zellen A5:A7 mit Werten gefüllt, ebenso die Zellen C1:C20.
Wenn ich nun per VBA-Code den beschriebenen Bereich in Spalte A ermitteln möchte und dafür "UsedRange" verwende:
ActiveSheet.UsedRange.Columns(1).Address ,
dann erhalte ich nicht als Ergebnis:
$A$5:$A$7, sondern vielmehr
$A$1:$A$20.
Mit welchem Code kann ich den tatsächlich beschriebenen Bereich einer einzigen Spalte (z.B. A) ermitteln - ungeachtet der beschriebenen Bereiche in anderen Spalten?
Im Voraus vielen Dank für Eure Hilfe!
Viele Grüße
Ben.
Betrifft: AW: UsedRange bei VBA
von: ChrisL
Geschrieben am: 28.10.2003 13:49:28
Hi Ben
MsgBox Range(Range("A1").End(xlDown), Range("A65536").End(xlUp)).Address
Gruss
Chris
Betrifft: AW: UsedRange bei VBA
von: WernerB.
Geschrieben am: 28.10.2003 13:53:59
Hallo Ben,
mit
Cells(Rows.Count, 1).End(xlUp).Row
ermittelst Du die letzte Zelle mit Inhalt (auch unsichtbarem Inhalt!) in der Spalte "A".
Die 1 steht Für Spalte "A", für Spalte wäre das die 2, usw.
Viel Erfolg wünscht
WernerB.
P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Betrifft: AW: UsedRange bei VBA
von: andre
Geschrieben am: 28.10.2003 14:17:58
hallo ben,
bei den beiden lösungen wäre nur noch hinzuzufügen, dass die zelle 65536 leer sein sollte. wenn z.b. diene daten von a64000 bis a65536 gehen dann bekommst du mit ...xlup... die 64000 statt der 65536.
... aber wer hat schon so viele daten ...
gruss andre
Betrifft: AW: UsedRange bei VBA
von: Ben
Geschrieben am: 28.10.2003 15:23:39
Hallo Ihr Drei,
herzlichen Dank für Eure Antwort!
Besonders gut gefällt mir der Tip mit der letzten beschriebenen Zeile einer Spalte - denn genau die brauche ich. Vorher habe ich mir diese Endzeile mühsam aus der Address-Angabe rausgelesen.
Für Euch weiterhin alles Gute. Ciao, viele Grüße
Ben.