Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

Bereich für Namen ändern per VBA

Bereich für Namen ändern per VBA
04.05.2013 17:57:59
Dietmar
Hallo zusammen,
habe eine Arbeitsmappe, für die ich Namen definiert habe.
Nun muss ich für einen Namen den zugewiesenen Bereich anpassen.
Das möchte ich gerne per VBA machen. Habe aber keine Ahnung ob das geht und wenn ja wie.
Hier mal die Daten für die Beispieldatei:
Arbeitsmappe = Testdatei
Sheet für den der Bereich definiert wurde = Einnahmen
Name = Euro_Brutto
Definierter Bereich derzeit = Einnahmen!$L$14:$L$21;Einnahmen!$L$33:$L$49
Das Makro soll nun den ersten Bereich um 10 Zellen nach unten erweitern also soll der Bereich dann lauten: Verkauf_!$L$14:$L$31
Vielen Dank!
Sonnige Grüße
Dietmar aus Aachen

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
... Korrektur
04.05.2013 17:59:38
Dietmar
...
natürlich soll der neue Bereich dann lauten: Einnahmen!$L$14:$L$31
LG Dietmar

Na, ist doch nicht schwer, ...
04.05.2013 18:30:22
Luc:-?
…Dietmar;
den Namen suchen unter Mappe oder Blatt, je nachdem wie er zugeordnet ist, und dann ändern, also etwa so …
Dim wbN As Name
For Each wbN In ActiveWorkbook[.Sheets("xyz")].Names
If wbN.Name = relevName Then wbN.Value = …: Exit For
Next wbN
Der Teil in [] entfällt bei Namen der Mappe (sonst nur die []). Statt .Value kann auch .RefersTo bzw .RefersToLocal benutzt wdn.
Gruß Luc :-?

... was mache ich falsch?
04.05.2013 19:09:25
Dietmar
Hallo Luc,
ich habs jetzt so umgesetzt.
Der Bereich wird nun geändert, aber die Werte in diesem Bereich werden nicht berechnet.
Im Namens-Manager wird mit angezeigt, dass der Wert nun auch "Tabelle1!B2:B20" sei,
was im Sheet natürlich zu einem #Wert führt.
Was mache ich falsch?
LG Dietmar

Sub NamenAendern()
'Aendern des Namens Zahlen, bisheriger Bereich = Tabelle1!B2:B10
Dim wbN As Name
For Each wbN In ActiveWorkbook.Names
If wbN.Name = "Zahlen" Then wbN.RefersTo = "Tabelle1!B2:B20": Exit For
Next wbN
End Sub

Anzeige
AW: ... was mache ich falsch?
04.05.2013 20:27:58
Matthias
Hallo Dietmar
Warum löschst Du nicht einfach den Namen und setzt/definierst ihn neu?
Gruß Matthias

... Frage ist logisch ... aber ...
04.05.2013 22:03:58
Dietmar
Hallo Matthias,
die Frage ist naürlich logisch :-)
Es ist so, dass die in Frage kommende Datei, bei der der Namensbereich zu ändern ist, von mehreren Leutchen verwendet wird, denen ich mit einem Update regelmäßig ganz bestimmte Inhalte ändere.
Es wäre ein zu großer Aufwand für mich, bei jedem einzelnen die Namensanpassung per Fernwartung vorzunehmen. Daher will ich es mit einem Makro machen :-) Mache ich immer so und klappt auch recht gut.
LG
Dietmar

Anzeige
Das meinte ich ja auch ... eben mit vba ...
04.05.2013 22:24:02
Matthias
Hallo Dietmar
Ist der alte Bereich "$L$14:$L$21,$L$33:$L$49"
so kannst Du doch auch per Makro den Bereich neu definieren, ich meinte das nicht händisch
Sub Dietmar()
On Error Resume Next
ActiveWorkbook.Names("Euro_Brutto").Delete
Sheets("Einnahmen").Range("$L$14:$L$31,$L$33:$L$49").Name = "Euro_Brutto"
End Sub
Gruß Matthias

STARK!
04.05.2013 23:22:19
Dietmar
Hallo Matthias,
herzlichen Dank!
Sieht wirklich einfach aus ... wenn man weiß wie es geht :-)
VG Dietmar

Löschen ist überflüssig
05.05.2013 12:00:09
Rudi
Hallo,
Sub Dietmar()
Sheets("Einnahmen").Range("$L$14:$L$31,$L$33:$L$49").Name = "Euro_Brutto"
End Sub

reicht.
Gruß
Rudi

Anzeige
besten Dank ...
05.05.2013 20:57:09
Dietmar
Hallo Rudi,
herzlichen Dank!
Das ist ja klasse!
LG
Dietmar

Deiner Frage war nicht zwingend zu ...
05.05.2013 14:20:35
Luc:-?
…entnehmen, dass der neue Namensinhalt nun statt Einnahmen!$L$14:$L$21;Einnahmen!$L$33:$L$49 Einnahmen!$L$14:$L$31;Einnahmen!$L$33:$L$49 sein sollte, Dietmar;
warum du dann jetzt Tabelle1!B2:B20 verwendet hattest, ist mir schleierhaft. Matthias hat dann das gemacht, was du hier schon hättest tun sollen, auch ganz ohne vorheriges Löschen.
Der PgmZyklus in meinem Bsp sollte übrigens nur sicherstellen, dass der Name auch wirklich existiert. Entsprd ausgebaut hätte so auch nach einem Namensbestandteil über alle Namensbezugsmöglichkeiten gesucht wdn können, falls nicht genau bekannt wäre, wie der Name exakt lautet u/o wie er zugeordnet ist. Ist hingg alles bekannt, erübrigt sich das natürlich.
Gruß + schöSo, Luc :-?

Anzeige
... ok ...
05.05.2013 21:01:02
Dietmar
Hallo Luc,
vielen Dank.
Werde beim nächsten Mal etwas sorgfältiger formulieren.
Wünsche Dir noch einen schönen Rest-Sonntag :-)
LG
Dietmar

Wußte ich auch noch nicht ...
05.05.2013 21:16:52
Matthias
Hallo alle zusammen (Rudi, Luc, Dietmar)
... das man den Namen nicht löschen muss.
Aber das ist das Schöne am Forum, man gibt und nimmt.
und ich habe jetzt wieder was gelernt.
Danke
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen