VBA Zelladressen und Variablen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: VBA Zelladressen und Variablen
von: Herbert S.
Geschrieben am: 03.11.2003 16:34:59

Hallo VBA-Experten,

folgende Problemstellung:
gibt es eine Möglichkeit die Zelladresse der letzten Zelle einer Tabelle in eine Variable zu übernehmen und diese Variable in einem Range Objekt weiterzuverwenden?

mit Dank im voraus
Herbert S.

Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: ChrisL
Geschrieben am: 03.11.2003 16:57:57

Hi Herbert

Versuch mal...

Dim rngZelle As Range
Set rngZelle = Range("A65536").End(xlUp)
MsgBox rngZelle.Address

Gruss
Chris


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: Jörg Gradert
Geschrieben am: 03.11.2003 17:06:59

Hallo Herbert,
ich habe es so hinbekommen


Sub Makro1()
Dim a
a = Selection.SpecialCells(xlCellTypeLastCell).Address
Range(a).Select
End Sub


Ich weiss allerdings nicht als was man a dimensionieren soll?
as Range hätte ich erwartet, funktioniert aber nicht. Blockvariable nicht dimensioniert.
Versteh ich nicht, da man es hinterher ja als Range ansprechen kann.
Kann es jemand erklären.

Gruss Jörg


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: PeterW
Geschrieben am: 03.11.2003 20:31:57

Hallo Jörg,

schau dir mal im Einzelschrittmodus an, was in a steht, dürfte ein String sein. Und mit Range("STRING") kannst du den Bereich ansprechen wenn der String für einen gültigen Range steht.

Gruß
Peter


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: Jörg Gradert
Geschrieben am: 03.11.2003 21:35:28

Hallo Peter,
in a steht $F$1 (die Adresse des letzten Eintrags im Tabellenblatt) als String, das hab ich soweit begriffen. Mit Range("$F$1") bzw. Range(a) kann die Zelle F1 wieder angesprochen werden, soweit ist es mir jetzt klar.
Jetzt weiss ich noch nicht, wann man eine Variable als Range deklariert.
Kannst Du ein einfaches Beispiel geben?

Gruss Jörg


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: PeterW
Geschrieben am: 03.11.2003 22:12:00

Hallo Jörg,

beispielsweise in For Each In Schleifen. Als Beispiel löscht folgender Code alles außer Formeln.

Sub alles_ausser_formeln_weg()
Dim rngC As Range
For Each rngC In ActiveSheet.UsedRange
    If Not rngC.HasFormula Then
        rngC.ClearContents
    End If
Next
End Sub

Gruß
Peter


Bild


Betrifft: Danke: VBA Zelladressen und Variablen
von: Jörg Gradert
Geschrieben am: 04.11.2003 01:16:53

Hallo Peter,
jetzt ist mir der Unterschied klar geworden, vielen Dank.

Gruss Jörg


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: Herbert S.
Geschrieben am: 03.11.2003 17:44:45

Hallo Chris,

danke für die prompte Antwort.
funktioniert tadellos, nur wie kann diese Variable in einem weiteren(neuen) Range-Objekt weiterverwenden (übergeben)?

Danke
Herbert S.


Bild


Betrifft: AW: VBA Zelladressen und Variablen
von: ChrisL
Geschrieben am: 03.11.2003 19:47:15

Hi Herbert

Meinst du so?

Dim rngZelle As Range
Dim rngZelle2 As Range
Set rngZelle = Range("A65536").End(xlUp)
Set rngZelle2 = rngZelle
MsgBox rngZelle2.Address

Gruss
Chris


Bild

Beiträge aus den Excel-Beispielen zum Thema " VBA Zelladressen und Variablen"