Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Names.Add / Name aus Variable

Names.Add / Name aus Variable
25.06.2014 09:33:12
Frank
Guten Morgen!
Wie kann ich das YEAR2 im folgenden Ausdruck variabilisieren? Ich habe "YEAR2" in einer String-Variable n.
ActiveWorkbook.Names.Add Name:="YEAR_2", RefersToR1C1:=y2s
ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:=y2s funktioniert nicht...
Vielen Dank!
Frank

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Names.Add / Name aus Variable
25.06.2014 09:51:00
Rudi
Hallo,
mit Names.Add habe ich es nicht so. Ich finde die direkte Zuweisung einfacher.
Was ist denn y2s? Eine Range-Variable?
y2s.Name = n
Gruß
Rudi

AW: Names.Add / Name aus Variable
25.06.2014 09:53:04
Frank
y2s beinhaltet den zuzuweisenden bereich als string.

AW: Names.Add / Name aus Variable
25.06.2014 09:57:04
Rudi
Hallo,
dann eben
Range(y2s).Name = n
Gruß
Rudi

Anzeige
AW: Names.Add / Name aus Variable
25.06.2014 10:07:42
fcs
Hallo Frank,
das Problem dürfte hier eher der Inhalt der Variablen y2s sein.
Hier musst du dich an die vorgeschriebene Syntax für die Zuweisung zu einem Namen halten.
Gruß
Franz
Beispiel:
Sub NewName()
Dim n, y2s, TabName As String
n = "YEAR_2"
TabName = "Tabelle 1"
y2s = "=R[0]C[-1]*200"          'Formel
y2s = "=1000"                   'Konstante
y2s = "='" & TabName & "'!R2C3" 'Zellbezug
'ActiveWorkbook.Names.Add Name:="YEAR_2", RefersToR1C1:=y2s
ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:=y2s
End Sub

Anzeige
AW: Names.Add / Name aus Variable
25.06.2014 10:11:48
Beverly
Hi Frank,
so sollte es funktionieren:
Dim n As String
Dim y2s As String
n = "YEAR_2"
y2s = "E1:G10"
ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:=Range(y2s)


danke an alle!
25.06.2014 12:56:35
Frank2
danke an alle!
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Names.Add und die Verwendung von Variablen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Variable als Namen in Excel VBA zu verwenden, kannst du die Names.Add Methode nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie du dies umsetzen kannst:

  1. Erstelle ein neues VBA-Modul:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Wähle im Menü „Einfügen“ die Option „Modul“.
  2. Definiere deine Variablen:

    • Lege die Variablen für den Namen und den Bezug fest.
      Dim n As String
      Dim y2s As String
  3. Weise Werte zu:

    • Setze den gewünschten Namen und den Bezug.
      n = "YEAR_2"
      y2s = "E1:G10"  ' Beispielbereich
  4. Verwende ActiveWorkbook.Names.Add:

    • Füge den Namen mit dem Bezug hinzu.
      ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:=Range(y2s)
  5. Führe das Makro aus:

    • Speichere dein Modul und führe das Makro aus, um den Namen hinzuzufügen.

Häufige Fehler und Lösungen

  • Fehler: "Name already exists"
    Lösung: Stelle sicher, dass der Name, den du hinzufügst, nicht bereits in der Arbeitsmappe existiert. Du kannst dies überprüfen, indem du eine Fehlerbehandlung implementierst.

  • Fehler: Ungültige Referenz
    Lösung: Prüfe, ob die Referenz in RefersToR1C1 korrekt ist. Achte darauf, dass der Bezug auf eine existierende Range zeigt.

  • Fehler: Typkonflikt
    Lösung: Vergewissere dich, dass die Variablen korrekt deklariert sind. Verwende Dim n As String für die Namen und Dim y2s As String für den Bezug.


Alternative Methoden

Es gibt mehrere Methoden, um Namen in Excel VBA hinzuzufügen. Eine alternative Methode ist die direkte Zuweisung einer Range zu einem Namen:

Range(y2s).Name = n

Durch diese Methode kannst du den Namen direkt einem Zellbereich zuweisen, ohne ActiveWorkbook.Names.Add zu verwenden.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, Names.Add richtig zu verwenden:

  1. Ein einfacher Name mit einer Formel:

    Dim n As String
    Dim y2s As String
    n = "YEAR_2"
    y2s = "=R[0]C[-1]*200"  ' Formel
    ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:=y2s
  2. Ein Name, der auf eine Zelle verweist:

    Dim n As String
    Dim TabName As String
    n = "MY_NAME"
    TabName = "Tabelle1"
    ActiveWorkbook.Names.Add Name:=n, RefersToR1C1:="='" & TabName & "'!R2C3"  ' Zellbezug

Tipps für Profis

  • Nutze Fehlerbehandlung in deinem VBA-Code, um unvorhergesehene Probleme elegant zu lösen.
  • Achte darauf, dass du die RefersToR1C1 Syntax richtig verwendest, um Referenzen korrekt zu erstellen.
  • Verwende klare und beschreibende Namen für deine Variablen, um die Lesbarkeit deines Codes zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich einen Namen in ThisWorkbook hinzufügen?
Du kannst ThisWorkbook.Names.Add verwenden, um einen Namen hinzuzufügen, der speziell für die aktuelle Arbeitsmappe gilt.

2. Was ist der Unterschied zwischen ActiveWorkbook und ThisWorkbook?
ActiveWorkbook bezieht sich auf die momentan aktive Arbeitsmappe, während ThisWorkbook die Arbeitsmappe bezeichnet, in der der VBA-Code ausgeführt wird.

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