Microsoft Excel

Herbers Excel/VBA-Archiv

Name per VBA definieren | Herbers Excel-Forum


Betrifft: Name per VBA definieren von: Horst
Geschrieben am: 11.11.2009 15:55:05

Hallo

ich habe einem bestimmten Bereich einen Namen ("Kunde") zugewiesen.
(Unter "Einfügen" "Namen" "definieren")
Nun will ich diesen definierten Bereich mit VBA Code erweitern.
D.H. ich kenne die neue untere und obere Grenze des Bereichs und den Namen,
bekomme jedoch nicht den richtigen VBA Bafehl zusammen.

So ungefähr könnte ich mir folgendes vorstellen, aber leider klappt es nicht... :-(

Sheets("Test").Names.Add Name:="Kunde", =Namen! Range(Cells(Zeile,Spalte),Cells(Zeile,Spalte)

Vielen Dank im Voraus
Gruß Horst

  

Betrifft: AW: Name per VBA definieren von: Luschi
Geschrieben am: 11.11.2009 16:15:26

Hallo Horst,

wenn der Name schon existiert, dann so:

ActiveWorkbook.Names("Kunde").RefersTo = "=Tabelle1!$F$3:$G$14"

es geht aber auch so (dann muß der Name noch nicht existieren), es wird der vorhandene Name aber auch angepaßt:

ActiveWorkbook.Names.Add Name:="Kunde", RefersTo "=Tabelle1!$F$3:$G$14"

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Name per VBA definieren von: Horst
Geschrieben am: 11.11.2009 16:51:52

Hallo Luschi,
Dein Code funktioniert soweit, ich habe jedoch das Problem, dass ich nicht ich nicht die
absolute Adresse (z.B. F3) habe, sondern eben nur wie beschrieben die Zeilen und Spaltennummer.

Ich tu mich leider bei der Umstellung von Range auf Cells immer schwer. Und hier steht das ganze noch in
" ".
Ich hoffe Du kannst mir nochmals helfen.

Vielen Dank im Voraus
Gruß Horst


  

Betrifft: AW: Name per VBA definieren von: IngGi
Geschrieben am: 11.11.2009 17:16:55

Hallo Horst,

ich will mich ja nicht vordrängen, aber genau das hatte ich in meiner Antwort berücksichtigt. Wenn du mal einen Blick drauf wirfst.

Gruß Ingolf


  

Betrifft: AW: Name per VBA definieren von: IngGi
Geschrieben am: 11.11.2009 16:21:18

Hallo Horst,

lngZeile1, lngZeile2, lngSpalte1 und lngSpalte2 sind Longvariablen:

Sheets("Test").Names.Add Name:="Kunde", RefersToR1C1:="Tabelle1!R" & _
  lngZeile1 & "C" & lngSpalte1 & ":R" & lngZeile2 & "C" & lngSpalte2
Gruß Ingolf


  

Betrifft: AW: Name per VBA definieren von: Climbi
Geschrieben am: 11.11.2009 19:08:06

Hallo Ingolf,
sorry ich habe Deinen Beitrag erst später gesehen....vielen Dank auf jeden Fall
Habe Deinen Vorschlag mal getestet, es funktioniert jedoch nicht so wie ich mir das vorstelle.
Der Bereich, den ich vorher vorgegeben habe wird durch den VB Code restlos verbogen.
Ich werde mal weiter testen..
Gruß Horst


  

Betrifft: AW: Name per VBA definieren von: IngGi
Geschrieben am: 11.11.2009 22:33:18

Hallo Horst,

damit die Codezeile funktioniert, musst du in lngZeile1 und lngSpalte1 die Zeilen- und Spaltennummer der oberen linken Zelle des neuen Bereiches übergeben und in lngZeile2 und lngSpalte2 die entsprechenden Angaben für die untere rechte Zelle.

Gruß Ingolf