Wie Range in 'nomale' Adresse umsetzen?

Hallo Reinhard, hallo alle anderen,

bezogen auf meinen Beitrag /t/tabellen-per-makro-als-grafiken-speichern/4816304/4

 range(cells(1,1), cells (Cletzte, Rletzte).select 

Das ergibt zum Beispiel einen Bereich A1 bis BF25
Wie kann ich das in VBA als „normale Adresse“ umrechnen, also $A$1:blush:BF$25?
Vielleicht stehe ich auch nur wieder auf dem Schlauch? :wink:

Wie immer vielen Dank für Hilfe
Tina

Hi Tina,

bezogen auf meinen Beitrag
/t/tabellen-per-makro-als-grafiken-speichern/4816304/4

biste sicher mit dem Link?

möchte ich gerne den Bereich, der im dargestellten Code (unter
Function SelectArea) als Funktion zum Auswählen definiert ist,
von VBA automatisch auswählen lassen. Ich kann den Bereich
auch selektieren, indem ich mir die letzte Zeile und die
letzte Spalte ausrechne und dann sage:

range(cells(1,1), cells (Cletzte, Rletzte).select

Das ergibt zum Beispiel einen Bereich A1 bis BF25
Wie kann ich das in VBA als „normale Adresse“ umrechnen, also
$A$1:blush:BF$25?

vielleicht hilft dir das weiter:

Sub tt()
Dim rngBereich
Set rngBereich = Range(Cells(1, 1), Cells(10, 12))
MsgBox rngBereich.Address
End Sub

Gruß
Reinhard

Hi zurück,

biste sicher mit dem Link?

Natürlich muss es /t/tabellen-per-makro-als-grafiken-speichern/4816304/8

vielleicht hilft dir das weiter:

Sub tt()
Dim rngBereich
Set rngBereich = Range(Cells(1, 1), Cells(10, 12))
MsgBox rngBereich.Address
End Sub

Vielen Dank, melde mich wieder wenn getestet! Sieht zumindest schonmal gut aus.

Wie immer Danke und viele Grüße
Tina

Hallo Reinhard,

Sub tt()
Dim rngBereich
Set rngBereich = Range(Cells(1, 1), Cells(10, 12))
MsgBox rngBereich.Address
End Sub

Das klappt prima, nur hat sich mir ein neues Problem aufgetan: Wenn ich mir die letzte benutzte Spalte mit:

 Range("IV2").End(xlToLeft).Column 

ausgeben lasse, erhalte ich 54. In meinem sheet sind aber 58 Spalten benutzt… Nach 54 kommt auch keine leere Spalte oder so!

Sehr dubios!!

Kannst Du mir nochmal weiterhelfen??

Viele Grüße
Tina

Das klappt prima, nur hat sich mir ein neues Problem aufgetan:
Wenn ich mir die letzte benutzte Spalte mit:

Range(„IV2“).End(xlToLeft).Column

ausgeben lasse, erhalte ich 54. In meinem sheet sind aber 58
Spalten benutzt… Nach 54 kommt auch keine leere Spalte oder
so!

Hallo Tina,

markiere mal IV2, dann drücke Strg+Pfeiltaste nach links.
Die Spalte wohin dann Excel „hüpft“, ist die Spalte die du als Rückgabewert von
msgbox Range(„IV2“).End(xlToLeft).Column
erhälst.

Wenn es die Spalte 54 (=BB) ist, so ist für Excel die Zelle BA2 leer und im Bereich BB2:IV2 jede Zelle nicht leer, auch wenn sie für dich leer erscheinen.

Markiere die Spalten BG:IV, Rechtsklick und wähle Zellen löschen.

Gruß
Reinhard