Doppelter benannter Bereich in 2 Blättern (Excel 2003)
#1
Hallo zusammen,

ich möchte in einer alten Excel 2003 Arbeitsmappe in einem Arbeitsblatt "Blatt-2" den Namen für einen bestimmten Bereich mit dem gleichen Namen benennen wie in "Blatt-1". Leider bekomme ich das weder manuell noch per VBA hin:

Code:
Sub BenannterBereich()
    ' Erstellt einen benannten Bereich "MeinBereich" im ersten Blatt
    ' Der Befehl "Visible:=True" ist optional und zeigt den Namen im Namens-Manager an
    ThisWorkbook.Names.Add Name:="MeinBereich", RefersToR1C1:="=Blatt-1!R1C3:R1C10", Visible:=True
    ThisWorkbook.Names.Add Name:="MeinBereich", RefersToR1C1:="=Blatt-2!R1C3:R1C10", Visible:=True
End Sub
Wenn ich "Blatt-1" als "Blatt-2" kopiere, werden die benannten Bereiche mit dem gleichen Namen kopiert, im Namens-Manager ("Einfügen-Namen-Definieren...") erscheint dann hinter dem jeweiligen Namen 'Blatt-1' bzw. 'Blatt-2'.

Ich habe mittlerweile so viele Daten und Formatierungen auf Blatt-2 vorgenommen, dass ich eine Kopie von Blatt-1 nicht machen machen möchte. Hat jemand noch eine zielführendere VBA-Routine?
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#2
Hallöchen,

ThisWorkbook.Names.Add Name:="Blatt-2!MeinBereich", RefersToR1C1:="=Blatt-2!R1C3:R1C10", Visible:=True
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • LuckyJoe
Antworten Top
#3
Hi
wenn du den selben Namen für mehrere Blätter verwenden willst, dann musst du den Namen auf Blatt-Ebene definieren und nicht auf Mappen-Ebene.
Der Name "MeinBereich" kann dann für jedes Blatt 1x vergeben werden und gilt dann innerhalb dieses Blattes.
Um dann ein "MeinBereich" eines anderen Tabellenblatts zu verwenden, muss man den Blattnamen vorantstellen (wie bei einer Adresse: 'Tabellen1'!MeinBereich

in VBA müsste das dann so funktionieren (wobei ich das in 2003 nicht testen kann)

Code:
ThisWorkbook.Sheets("Blatt-1").Names.Add Name:="MeinBereich", RefersToR1C1:="=Blatt-1!R1C3:R1C10", Visible:=True
ThisWorkbook.Sheets("Blatt-2").Names.Add Name:="MeinBereich", RefersToR1C1:="=Blatt-2!R1C3:R1C10", Visible:=True

Gruß Daniel
ps: nach Hinweis korrigiert
[-] Folgende(r) 1 Nutzer sagt Danke an slowboarder für diesen Beitrag:
  • LuckyJoe
Antworten Top
#4
... ah, doch so einfach  Angel

Danke euch, beides funktioniert – wenn man bei Daniels Lösung statt "Sheet" "Sheets" verwendet Wink
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#5
... wobei meine Schreibweise auf Mappenebene mit dem Blattnamen im Namen auch funktioniert ... Excel dröselt das dann korrekt ein.
... und da kam die Antwort von Lucky beim meinem Schreiben ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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