Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Name für spalten definieren

Name für spalten definieren
18.11.2003 21:46:45
Frank S.
Hallo,
ich habe da mal ein Problem.
Ich habe ein Makro erstellt welches unter Excel auch sehr gut klappt.


Dim anzahl, tabelle As String
anzahl = Trim(Str(Cells(Rows.Count, 1).End(xlUp).Row))
tabelle = "=Tabelle1!R1C1:R" + anzahl + "C5"
ActiveWorkbook.Names.Add Name:="daten", RefersToR1C1:= _
tabelle


Dieses Makro definiert für die Spalten A bis E und für alle beschriebenen Zeilen
einen Namen "daten".

Nun möchte ich aber dieses Makro direkt mit einem Visual Basic Programm ausführen. Der Code ist fast analog:


Dim xlbook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim anzahl As String
Dim tabelle As String

Set xlbook = GetObject(filename.Text)
Set xlSheet = xlbook.Worksheets("Tabelle1")

anzahl = Trim(Str(xlSheet.Cells(xlSheet.Rows.Count, 1).End(xlUp).Row))
tabelle = "=Tabelle1!R1C1:R" + anzahl + "C5"
xlbook.Names.Add Name:="daten", RefersToR1C1:=tabelle


Doch dieses Programm hat nicht gewünschten Effekt. Es wird zwar ein Name "daten" definiert, zu sehen in Einfügen->Name->Definieren, jedoch
wird dort als Bezug "=Tabelle1!R1C1:R427C5" angezeigt. Dies hat scheinbar keinen Effekt auf die Spalten.

Bei meinem oberen VBA Makro wird bei Einfügen->Name->Definieren auch daten angezeigt hierbei aber mit dem Bezug =Tabelle1!$A$1:$E$427.
Und dies hat genau den gewünschten Effekt auf die Spalten.

Wenn ich nun versuche für tabelle = "=Tabelle1!R1C1:R" + anzahl + "C5"
durch

tabelle = "=Tabelle1!$A$1:$E$" + anzahl

zu ersetzen funktoniert es nicht da RefersToR1C1:= .. diesen Bezug nicht verarbeitet.

Gibt es einen anderen Weg "=Tabelle1!$A$1:$E$" + anzahl in den Code einzufügen, oder irgendeine andere Möglichkeit über VB meinen Spalten einen Namen zu definieren??

danke

Frank S.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name für spalten definieren
18.11.2003 22:58:35
Frank S.
Is okay hab es hinbekommen mit:

Dim anzahl As Integer
anzahl = xlSheet.Cells(xlSheet.Rows.Count, 1).End(xlUp).Row
Dim ranget As String
Dim MyNameRange As Name
ranget = "A1:E" + anzahl
Set Currrange = xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(anzahl, 5))
Set MyNameRange = xlbook.Names.Add("daten", Currrange)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige