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