Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Name aus Namensmanager in VBA-Code

Forumthread: Name aus Namensmanager in VBA-Code

Name aus Namensmanager in VBA-Code
RainerK
Hallo,
kann eigentlich ein Name aus dem Namensmanager im Arbeitsblatt auch im VBA-Code verwendet werden?
Mein Test anstelle
iStart = Tabelle6.Cells(27, 7).Value

z. B.

iStart = Tabelle6.Cells(ZeileX, 7).Value

klappte zumindest nicht.
Gruß RainerK
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 10:57:57
Hajo_Zi
Hallo Rainer,
Ja, Dein Einsatz wäre aber nur die Zeile. Der Name bezieht sich aber auf eine Zelle Also A1:A3.
Oder hast Du einen Namen festgelegt der nur ein Zahl enthält und sich nicht auf eine Zelle bezieht?

Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:03:18
Hajo_Zi
Hallo Rainer,
falls meine Vermutung stimmt das der Name nur eine Zahl enthält, dann
Evaluate("=ZeileX")
Gruß Hajo
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:25:14
RainerK
Hallo Hajo,
Evaluate("=ZeileX")
passt.
Besten Dank für Deine Mithilfe
Gruß RainerK
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:18:33
RainerK
Hallo Hajo,
vielen Dank für die schnelle Antwort:
Deine Vermutung ist richtig, ist nur eine Zahl.
Habe im Namensmanager z. B.
Name: ZeileX
Bereich: Arbeitsmappe
Bezieht sich auf: =Tabelle6!$G$27
Nun wollte ich eben
iStart = Tabelle6.Cells(ZeileX, 7).Value
Demzufolge müsste ich bei zusätzlich eingefügten Zeilen meinen Code nicht ständig anpassen.
Werde
Gruß
RainerK
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:22:36
Hajo_Zi
Hallo Rainer,
bei dir ist es keine Zahl , dann hätte bei bezieht sich auf eine Zahl stehen müssen und keine Zelladresse.
Tabelle6.Range("ZeileX")
Gruß Hajo
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:36:30
RainerK
Hallo Hajo,
da ich "nur" Excel-Anwender bin, kann ich nicht ganz nachvollziehen, was Du meinst.
Meine Zelle G27 hat die Formel ZEILE().
Mit Deinem Code sieht meine Codezeile nun so aus:
iStart = Tabelle6.Cells(Evaluate("=ZeileX"), 7).Value
Füge ich nun im Arbeitsblatt eine Zeile ein (G27 dann G28) funktioniert mein Code immer noch - wie gewünscht.
Da einige Codezeilen dann auf iStart aufbauen vewende ich die nachfolgenden mit iStart +1 ...
Klappt alles bestens.
Gruß RainerK
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:39:22
Hajo_Zi
Hallo Rainer,
ich hatte gedacht das wäre endeutig
bei bezieht sich auf eine Zahl stehen müssen und keine Zelladresse.
Gruß Hajo
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:48:55
RainerK
Hallo Hajo,
Du meintest "Bezieht sich auf: =27"?
Dann wäre doch aber ZeileX immer 27 gewesen und hätte sich mit dem Verschieben der Zeilen im Arbeitsblatt nicht verändert.
Gruß RainerK
P.S.: muss nun weg; würde mich ggf. später nochmal dazu äußern.
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:52:45
Hajo_Zi
Hallo Rainer,
Du hast die Variable alsersatz für die Zeile genommen und darum bin ich davon ausgegangen das die Variable in der Rabelle eine Zahl ist. Wie in Deinem Beispiel die 27.
Gruß Hajo
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:23:48
Gerd
Hallo Rainer,
teste mal:
iStart = Tabelle6.Cells(CLng(Range("ZeileX").Value), 7).Value
Gruß Gerd
Anzeige
AW: Name aus Namensmanager in VBA-Code
07.08.2010 11:27:40
RainerK
Hallo Gerd,
habe Deine Nachricht erst gelesen, als ich die Formel mit Hajo's Befehl bereits getestet habe.
Vielen Dank jedoch auch an Dich.
Gruß RainerK
;
Anzeige
Anzeige

Infobox / Tutorial

Verwendung von Namen aus dem Namensmanager in VBA


Schritt-für-Schritt-Anleitung

  1. Namensmanager öffnen: Gehe in Excel zum Reiter "Formeln" und öffne den Namensmanager. Hier kannst Du neue Namen definieren oder bestehende bearbeiten.

  2. Namen hinzufügen: Klicke auf "Neu" und gib einen Namen wie ZeileX ein, der auf einen Zellbereich verweist, z.B. =Tabelle6!$G$27.

  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Modul erstellen: Klicke im Projektfenster mit der rechten Maustaste auf dein Projekt und wähle "Einfügen" -> "Modul".

  5. Code schreiben: Verwende den Namen aus dem Namensmanager in deinem VBA-Code. Zum Beispiel:

    iStart = Tabelle6.Cells(Evaluate("=ZeileX"), 7).Value
  6. Code testen: Füge eine Zeile in Tabelle6 ein und teste, ob der Wert von iStart weiterhin korrekt ausgegeben wird.


Häufige Fehler und Lösungen

  • Problem: Der Name im Namensmanager verweist auf eine falsche Zelle.

    • Lösung: Überprüfe die Definition im Namensmanager und stelle sicher, dass sie korrekt auf den gewünschten Zellbereich verweist.
  • Problem: Evaluate gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass der Name im Namensmanager korrekt ist und keine Typos enthält.
  • Problem: Der Code funktioniert nicht nach dem Einfügen von Zeilen.

    • Lösung: Verwende die Formel mit Evaluate, um die Aktualität der Zellreferenz sicherzustellen:
      iStart = Tabelle6.Cells(Evaluate("=ZeileX"), 7).Value

Alternative Methoden

Wenn Du den Namen aus dem Namensmanager in VBA verwenden möchtest, gibt es auch andere Methoden:

  • Direkter Zugriff auf den Namen:

    iStart = Range("ZeileX").Value
  • Verwendung von CLng() zur Umwandlung:

    iStart = Tabelle6.Cells(CLng(Range("ZeileX").Value), 7).Value

Diese Methoden helfen dabei, Flexibilität in Deinem VBA-Code zu schaffen.


Praktische Beispiele

Angenommen, Du hast im Namensmanager einen Namen ZeileX definiert, der auf =Tabelle6!$G$27 verweist. Hier ist ein Beispiel, wie Du diesen Namen in Deinem VBA-Code nutzen kannst:

Sub BeispielVerwendung()
    Dim iStart As Long
    iStart = Tabelle6.Cells(Evaluate("=ZeileX"), 7).Value
    MsgBox "Der Wert in der Zelle ist: " & iStart
End Sub

Dieses Skript zeigt den Wert der Zelle an, auf die der Name ZeileX verweist.


Tipps für Profis

  • Verwende benannte Bereiche: Diese helfen dabei, den Code lesbarer zu machen und Fehler zu vermeiden.

  • Dokumentation im Namensmanager: Füge Kommentare hinzu, um den Zweck jedes Namens zu erklären.

  • Vermeide zu viele Abhängigkeiten: Halte die Anzahl der Verweise auf Namen im Namensmanager gering, um die Wartung zu erleichtern.


FAQ: Häufige Fragen

1. Kann ich auch in Excel Online den Namensmanager verwenden?
Ja, in Excel Online kannst Du den Namensmanager ebenfalls nutzen, um benannte Bereiche zu erstellen und zu verwalten.

2. Wie kann ich sicherstellen, dass der Name immer aktuell ist?
Verwende die Evaluate-Funktion, um sicherzustellen, dass Du immer den aktuellen Wert des benannten Bereichs erhältst.

3. Was passiert, wenn ich die Struktur meiner Tabelle ändere?
Wenn Du den Namen korrekt definiert hast, sollte sich der Verweis automatisch anpassen, solange die Zelle, auf die verwiesen wird, nicht gelöscht 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