Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.06.2025 08:39:33
19.06.2025 20:41:29
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Name für spalten definieren

Forumthread: 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.
Anzeige

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)
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige