Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriff auf Bereichsnamen anderer Datei

Forumthread: Zugriff auf Bereichsnamen anderer Datei

Zugriff auf Bereichsnamen anderer Datei
22.05.2018 11:09:25
Zacharias
Liebe Excelianer,
ich hoffe Ihr hattet schöne Pfingsttage.
Ich würde Euch gern zu einer Sache befragen, bei der ich seit Tagen nicht weiterkomme:
Ich lese mit einem selbstentwickelten Excel-Tool eine Vielzahl sogenannter Projektlisten (ebenfalls Exceldateien) ein. Dies dient der initialen Datenfüllung des Tools.
In den eingelesenen Exceldateien finde ich im Namensmanager Namen für genutzte benannte Bereiche, auf die mit Formeln zugegeriffen wird z.B. für Steuerberechnungen:
1) Name bezieht sich genau auf eine Zelle
Name: Firma
Wert: A
Bezieht sich auf: =Steuerberechnung!Z7S5
Bereich: Arbeitsmappe
2) Name bezieht sich auf Zellbereich
Name: Zuschlaege
Wert: {„A“, „1,007“; „B“,“1,008“}
Bezieht sich auf: =Steuerberechnung!Z24S3:Z25S4
Bereich: Arbeitsmappe
Beim Dateiimport lese ich die Werte der Namen als Zellinhalte ebenso benannter Attributespalten ein, um sie später zur eigenen Berechnung zu nutzen und außerdem um nachvollziehen zu können, welche Steuersätze, bei welchen Projektdateien gültig waren (die ändern sich mit der Zeit).
Im Fall von Namensbezug 1) (Namesbezug auf einzelne Zelle) greife ich aus meinem Tool
folgendermaßen auf die geöffnete Importdatei zu, was gut funktioniert:
.Cells(lngNextRowWksTarget, spalte_StB_Firma) = Application.Range("Firma")
Im Fall von Namensbezugf 2) (Namensbezug auf Zellbereich), müßte ich abhängig von der Firma den korrekten Zuschlag aus dem Namensbereich ermitteln.
Innerhalb der Importdatei selbst, kann ich das mit folgendem Code umsetzen:
Sub GetCompany ()
Me.Cells(1, 1) = "=VLOOKUP(""A"",Zuschlaege,2,0)"
End Sub
Aber ich schaffe es nicht von meinem Tool aus auf den Namensbereich der Importdatei zuzugreifen. Ich vermute da müßte in die Formel der Verweis auf die Importdatei, in der der Name verwendet wird.
Wenn ich dies hier ..
Sub GetCompany ()
.Cells(lngNextRowWksTarget, spalte_StB_ZS_A) = "=VLOOKUP(""A"",Import1.xlsm!Zuschlaege,2,0)"
End Sub

.. versuche, steht in der Zielzelle danach „#NV“ und als Zellinhalt
„=SVERWEIS("A"; Import1.xlsm!Zuschlaege;2;0)“
Es wäre großartig, wenn mir jemand auf die Sprünge helfen könnte.
Vielen Dank vorab und viele Grüße
Zacharias
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf Bereichsnamen anderer Datei
22.05.2018 11:30:05
ChrisL
Hi
Habe zwar nur die Hälfte gelesen aber probiere mal...
Sub GetCompany ()
Me.Cells(1, 1).Formula = "=VLOOKUP(""A"",""Zuschlaege"",2,0)"
End Sub
Sub GetCompany ()
Worksheets("XY").Cells(lngNextRowWksTarget, spalte_StB_ZS_A).Formula = _
"=VLOOKUP(""A"",""Zuschlaege"",2,0)"
End Sub
cu
Chris
Anzeige
AW: Zugriff auf Bereichsnamen anderer Datei
22.05.2018 11:55:13
Zacharias
Hallo ChrisL,
das hilft mir leider nicht weiter, da das Zielblatt im Tool liegt brauche ich an der Zielangabe nichts weiter ändern.
Mein Problem besteht vielmehr im Auslesen der Quelle (des Namensbereichs) aus der Zieldatei.
Danke trotzdem.
Viele Grüße
Zacharias
AW: Zugriff auf Bereichsnamen anderer Datei
22.05.2018 11:34:28
Beverly
Hi Zacharias,
wie ist denn der Name definiert - Mappen-weit oder nur für die betreffende Tabelle? Wenn letzteres der Fall ist, dann müsste es so aussehen:
"=VLOOKUP(""A"",[Import1.xlsm]Tabelle1!Zuschlage,2,0)"

Tabellenname entsprechend anpassen!


Anzeige
AW: Zugriff auf Bereichsnamen anderer Datei
22.05.2018 11:52:32
Zacharias
Hallo Karin,
als Bereich steht im Namensmanager „Arbeitsmappe“ und bei „bezieht sich auf“ der Bereich in der Tabelle „Steuerberechnung“.
Auf Basis Deines Vorschlags ..
"=VLOOKUP(""A"",[Import1.xlsm]Tabelle1!Zuschlage,2,0)"
.. habe ich diese beiden probiert:
Me.Cells(1, 1) = "=VLOOKUP(""A"", [Import1.xlsm]Steuerberechnung!Zuschlaege,2,0)"
Me.Cells(2, 1) = "=VLOOKUP(""A"", Import1.xlsm!Zuschlaege,2,0)"
Das Ergebnis ist in beiden Fällen das gleiche
#NV und
=SVERWEIS("A"; Import1.xlsm!Zuschlaege;2;0)
=SVERWEIS("A"; Import1.xlsm!Zuschlaege;2;0)
Hast Du noch evtl. eine Idee?
(Irgendeine Kombination mit "Application.Range" vielleicht?)
Viele Grüße
Zacharias
Anzeige
AW: Zugriff auf Bereichsnamen anderer Datei
22.05.2018 12:00:43
Zacharias
Hallo Karin,
Es hat doch so funktioniert, wie von Dir vorgeschlagen!
Ich hatte nur eben beim Versuch, statt der echten Firmenangabe noch meine Fake-Firme "A" drinnengelassen.
Vielen lieben Dank !
Schon wieder hast Du mir den Tag gerettet!
Ich wünsche Dir eine schöne Woche!
Viele Zacharias
Zacharias
Anzeige
Danke für die Rückmeldung - o.w.T.
22.05.2018 12:31:54
Beverly


;
Anzeige
Anzeige

Infobox / Tutorial

Zugriff auf Bereichsnamen in Excel-Dateien


Schritt-für-Schritt-Anleitung

Um auf benannte Bereiche in einer anderen Excel-Datei zuzugreifen, folge diesen Schritten:

  1. Öffne die Importdatei: Stelle sicher, dass die Datei, auf die du zugreifen möchtest, geöffnet ist.
  2. Verwende den Namensmanager: Überprüfe die benannten Bereiche in der Importdatei, um sicherzustellen, dass der Name korrekt definiert ist. Du kannst die benannten Bereiche in Excel anzeigen, indem du auf „Formeln“ und dann auf „Namensmanager“ klickst.
  3. Schreibe die passende Formel: Nutze VLOOKUP (oder SVERWEIS), um auf die benannten Bereiche zuzugreifen. Die allgemeine Syntax sieht so aus:
    Cells(lngNextRowWksTarget, spalte_StB_ZS_A).Formula = "=VLOOKUP(""A"", [Import1.xlsm]Steuerberechnung!Zuschlaege, 2, 0)"
  4. Testen der Formel: Füge die Formel in die Zielzelle ein und prüfe das Ergebnis.

Häufige Fehler und Lösungen

Hier sind einige häufige Fehler und deren Lösungen:

  • #NV-Fehler: Dies tritt auf, wenn der gesuchte Wert nicht im benannten Bereich gefunden wird. Überprüfe den eingegebenen Wert und stelle sicher, dass er im benannten Bereich vorhanden ist.
  • Falsche Syntax: Achte darauf, dass die Syntax der Formel korrekt ist. Es ist wichtig, die korrekten Referenzen zu verwenden, z. B. [Import1.xlsm]Steuerberechnung!Zuschlaege.
  • Benannte Bereiche nicht gefunden: Wenn die benannten Bereiche nicht gefunden werden, überprüfe, ob die Datei, auf die du zugreifst, geöffnet ist.

Alternative Methoden

Es gibt verschiedene Methoden, um auf benannte Bereiche zuzugreifen:

  • Direkte Referenzierung: Statt einer Formel kannst du auch Application.Names verwenden, um auf benannte Bereiche zuzugreifen. Beispiel:
    Dim rng As Range
    Set rng = Application.Names("Zuschlaege").RefersToRange
  • Exportieren des Namensmanagers: Du kannst den Excel Namensmanager exportieren, um eine Übersicht deiner benannten Bereiche zu erhalten. Dies kann hilfreich sein, um die Struktur zu überprüfen.

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von benannten Bereichen:

  1. Wert aus einem benannten Bereich holen:

    Cells(1, 1).Value = Application.Names("Firma").RefersToRange.Value
  2. VLOOKUP mit benanntem Bereich:

    Cells(2, 1).Formula = "=VLOOKUP(""A"", [Import1.xlsm]Steuerberechnung!Zuschlaege, 2, 0)"

Tipps für Profis

  • Benannte Bereiche sinnvoll nutzen: Verwende beschreibende Namen für benannte Bereiche, um die Lesbarkeit deiner Formeln zu verbessern.
  • Initialen aus Namen: Wenn du die Initialen aus Namen in einer Liste benötigst, kannst du mit einer Formel wie =LINKS(A1;1)&RECHTS(A1;1) arbeiten.
  • Regelmäßige Überprüfung: Überprüfe regelmäßig deine benannten Bereiche im Namensmanager, um veraltete oder nicht mehr benötigte Bereiche zu entfernen.

FAQ: Häufige Fragen

1. Wie kann ich alle benannten Bereiche in einer Datei anzeigen?
Du kannst die benannten Bereiche anzeigen, indem du auf „Formeln“ und dann auf „Namensmanager“ klickst.

2. Was tun, wenn der benannte Bereich nicht gefunden wird?
Überprüfe, ob die Datei geöffnet ist und ob der Name korrekt eingegeben wurde. Achte darauf, dass keine Tippfehler vorhanden sind.

3. Wie exportiere ich den Namensmanager in Excel?
Leider gibt es keine direkte Funktion zum Exportieren des Namensmanagers, aber du kannst die benannten Bereiche manuell auflisten oder ein Makro schreiben, um sie in eine Tabelle zu exportieren.

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