Range anzeigen
#1
Hallo,

also ich habe im Modul1 folgenden Code:


Code:
Public ZLo, SLo, ZRu, SRu As Integer
Public bereich As Range
Public kopfbereich As Range
Public farbnummer As Integer

Sub EditTab01()
ZLo = 1 ' Lo bedeutet links-oben
SLo = 1
ZRu = 6 'Ru bedeutet rechts-unten
SRu = 6
farbnummer = 47

Call RangeErstellenfarbig

End Sub


Hier stehen die Variablen für Makro RangeErstellenfarbig in Modul2


Code:
Sub RangeErstellenfarbig()

Set bereich = Range(Cells(ZLo, SLo), Cells(ZRu, SRu))
   bereich.Select
With Selection
       .Interior.ColorIndex = farbnummer
   End With
End Sub

Jetzt möchte ich den Range mit einem neuen Namen (z.B.: kopfbereich) versehen, um wieder auf ihn zugreifen zu können.

Sollte etwa so aussehen:


Code:
Sub KopfbereichAnzeigen()
   With ActiveSheet
    .Range("kopfbereich").Select
   End With
End Sub

dachte, ich könnte die beiden Namen einfach gleichsetzen, aber so einfach scheint die Welt nicht zu sein.
Wie geht's denn richtig?
Antworten Top
#2
Hey,

schau dir Bitte die Datei aus dem Anhang an. Ist es das was du meintest.
Butten 1 macht Farbig und Butten 2 selectiert den Bereich unter Verwendung des neuen Namen Kopfbereich.

Mfg


Angehängte Dateien
.xlsm   Kopfbereich.xlsm (Größe: 20,79 KB / Downloads: 7)
Antworten Top
#3
Hallo

mn kann den Code noch verkürzen. With ActiveSheet ist nicht notwendig, weil damit immer das Aktive Blatt gemeint ist.

Man kann den Kopfbereich wahlweise über eine Set Anweisung als Range, oder als String Adresse anzeigen lassen. s. Unten.
Der Public Variable muss als Range oder String definiert sein, und der Code zum Anzeigen muss entsprechend geschrieben sein.

mfg Gast 123

Code:
Sub RangeErstellenfarbig()
Set bereich = Range(Cells(ZLo, SLo), Cells(ZRu, SRu))
   bereich.Interior.ColorIndex = farbnummer
   Set kopfbereich = bereich         'Bereich über Set Anweisung
   strkopfbereich = bereich.Address  'Bereich Adresse (String)
End Sub

Sub KopfbereichAnzeigen_überSet()
   kopfbereich.Select
MsgBox Selection.Address
End Sub

Sub KopfbereichAnzeigen_überString()
   Range(strkopfbereich).Select
MsgBox Selection.Address
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste