Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA auf Namensmanager zugreifen
#1
Ich habe im Nemensmanager einen Bereich einer Tabelle mit dem Namen "_Beleuchtung" angelegt.
Der Bereich ist für die gesamte Arbeitsmappe freigegen.

Nun habe ich folgendes versucht:

Code:
For Each tabHG In Range("_Beleuchtung")
  MsgBox tabHG
Next tabHG

aber das klappt nicht...
Antworten Top
#2
versuchs mal so

Code:
Sub bla()

For Each tabHG In Range("_Beleuchtung")
  MsgBox tabHG
Next tabHG
End Sub
Antworten Top
#3
danke für den Hinweis.

der von mir gepostete Code-Ausschnitt steht in einem Sub.

Mein problem ist, das Excel nicht auf die im Namensmanager definierte Tabelle zugreift und ich nicht ganz verstehe warum.

Edit:

hier die Lösung (hoffe ich)

Code:
For Each tabHG In Worksheets(5).Range("_Beleuchtung")
Antworten Top
#4
Hallo s...,

wenn du über Namen anstelle von festen Adressen auf Bereiche zugreifst, brauchst du das Programm nicht verändern wenn du Zeilen oder Spalten vor den Bereichen einfügst oder löschst.

In den meisten Fällen kann man auch über "Names" anstelle über "Range" auf den Bereich zugreifen.
'ThisWorkbook.Names("_Beleuchtung").RefersToRange' ist zwar etwas mehr Schreibarbeit als 'Range("_Beleuchtung")' aber das Programm muss das Blatt nicht kennen und man kann die Bereiche auch in andere Blätter verschieben ohne das Programm ändern zu müssen.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
Named Range "snb"

Code:
Sub M_snb()
  MsgBox [snb].Name
  MsgBox [snb].Parent.Name
   For Each it In [snb]
      MsgBox it
   Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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