Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereichsnamen in Zellnamen umwandeln

Bereichsnamen in Zellnamen umwandeln
Lemmi
Hallo zusammen,
ich suche nach einer Möglichkeit mittels eines Marko's oder ähnliches Bereichsnamen zu ändern.
Ich habe mehrer Berechnungen über mehrere Arbeitsblätter verteil.
Zuerst habe ich mit Bereichsnamen gearbeitet. Dies möchte ich nun ändern!
Gibt es eine Möglichkeit die mir es erlaubt ähnlich zu Arbeiten wie mit dem Befehl "Ersetzen" durchzuführen ?
Konkret möchte ich allen Berichsnamen eine Zellzuweisung einbringen.
Beispiel 1: Wenn Zelle A20 "Meier" heißt, soll nun der Bereichname "Meier" in allen Formel und Arbeitsblätter etc. durch $A$20 erstzt werden.
Beispiel 2: Bereichname "Müller" deckt den Bereich B20-C25 ab. Nun soll der Bereichname $B$20...$C$25 genannt werden!
Gruß
Lemmi
AW: Bereichsnamen in Zellnamen umwandeln
27.10.2010 18:33:49
Ramses
Hallo
"...Gibt es eine Möglichkeit die mir es erlaubt ähnlich zu Arbeiten wie mit dem Befehl "Ersetzen" durchzuführen ? ..:"
Warum etwas anderes ? Damit geht es doch perfekt
Suche nach: Meier
Ersetzen durch: $B$20:$B$25
Option: In Formeln
Grusss Rainer
AW: Bereichsnamen in Zellnamen umwandeln
27.10.2010 18:56:35
Lemmi
Hallo Ramses,
Die Anzahl spricht einfach dagenen!
(100-200 Bereichnsnamen).. in mehreren Arbeitsblättern/ und Dateien!
Gruß
Lemmi
Bereichsnamen durch Zelladressen ersetzen
27.10.2010 19:29:31
NoNet
Hallo Lemmi,
wenn ALLE Bereichsnamen der Mappe Zellbereiche enthalten und keine Formeln/Funktionen, dann kannst Du die Namen per Schleife durchlaufen und in der gesamten Mappe diesen Namen in Formeln/Funktionen/Bezügen durch dessen Zelladresse ersetzen :
Sub BereichsnamenInFormelnDurchZelladresseErsetzen()
'Ersetzt alle Bereichsnamen in Formeln/Funktionen/Bezügen der aktuellen Mappe
'durch die Originalzelle des Bereichnamens.
'ACHTUNG: Makro funktioniert nur wenn keine Funktionen in Bereichsnamen
'enthalten sind !!
'27.10.2010, NoNet - www.excelei.de
Dim intT As Integer, strName As String, strAdr As String
For intT = 1 To ActiveWorkbook.Names.Count
strName = ActiveWorkbook.Names(intT).Name
strAdr = ActiveWorkbook.Names(intT).RefersToRange.Address(, , , True)
strAdr = Replace(strAdr, "[" & ActiveWorkbook.Name & "]", "") '
Cells.Replace What:=strName, Replacement:=strAdr, LookAt:=xlPart, _
SearchOrder:=xlByRows
Next
End Sub
Gruß, NoNet
Anzeige
bin irritiert
27.10.2010 19:58:13
Uduuh
Hallo,
warum zur Hölle funktioniert das nicht?
Sub ttx()
Dim n As Name, sName As String, sFormel As String
For Each n In ActiveWorkbook.Names
sName = n.Name
sFormel = n.RefersToLocal
Cells.Replace What:=sName, Replacement:=sFormel, LookAt:=xlPart, _
SearchOrder:=xlByRows
Next
End Sub

Der Inhalt der Variablen ist der gleiche wie bei dir.
Any idea?
Gruß aus’m Pott
Udo

Wahrscheinlich wegen des = Zeichens !?!?
27.10.2010 20:21:57
NoNet
Hallo Udduh,
im meiner Testmappe :
?ActiveWorkbook.Names(1).RefersTorange.Address(,,,true) :
'[Test Mappe mit Leerzeichen.xlsm]Test Blatt'!$A$1
bzw. :
?replace(ActiveWorkbook.Names(1).RefersTorange.Address(,,,true),"[" & ActiveWorkbook.Name & "]", "")
'Test Blatt'!$A$1
und mit Deinem Code :
?ActiveWorkbook.Names(1).RefersTolocal :
='Test Blatt'!$A$1
Das = - Zeichen darf natürlich nicht mit in den ersetzenden Teil !!
Gruß, NoNet
Anzeige
manchmal ist man blind
27.10.2010 20:38:25
Uduuh
Hallo,
das war es. Danke
Gruß aus’m Pott
Udo

AW: Bereichsnamen durch Zelladressen ersetzen
27.10.2010 20:47:18
Luschi
Hallo Nonet,
um definierte Namen mit Berechnungsfunktionen auszuschließen, mache ich das so:

Sub BereichsnamenInFormelnDurchZelladresseErsetzen()
'Ersetzt alle Bereichsnamen in Formeln/Funktionen/Bezügen der aktuellen Mappe
'durch die Originalzelle des Bereichnamens.
'27.10.2010, NoNet - www.excelei.de
Dim intT As Integer, strName As String, strAdr As String
For intT = 1 To ActiveWorkbook.Names.Count
'nur Namen, die keine Funktionen enthalten
If InStr(1, ActiveWorkbook.Names(intT).RefersTo, "(", vbTextCompare) = 0 Then
strName = ActiveWorkbook.Names(intT).Name
strAdr = ActiveWorkbook.Names(intT).RefersToRange.Address(, , , True)
strAdr = Replace(strAdr, "[" & ActiveWorkbook.Name & "]", "") '
Cells.Replace What:=strName, Replacement:=strAdr, LookAt:=xlPart, _
SearchOrder:=xlByRows
End If
Next
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Bereichsnamen durch Zelladressen ersetzen
27.10.2010 21:19:37
Lemmi
Hallo zusammen,
fast.....leider!
Makro läuft nicht durch und bleibt hängen!
( strAdr = ActiveWorkbook.Names(intT).RefersToRange.Address(, , , True))
... Die Bereiche sind auch vielfach immer wieder verschachtel. .... Da glaube ich, nein da habe ich " Formeln" enthalten!
... kann das Marko dahingehend noch angepasst werden?
Gruß
Lemmi
AW: Bereichsnamen in Zellnamen umwandeln
28.10.2010 11:28:24
Case
Hallo,
eventuell ist dieses Tool auch interessant für dich:
NameManager
Servus
Case

Anzeige
AW: Bereichsnamen in Zellnamen umwandeln
28.10.2010 23:15:11
Swen
vielen dank, ich schaue mir das mal an....
gruß
swen

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige