Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1512to1516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

INDIREKT() mit Netzwerkdateipfad

INDIREKT() mit Netzwerkdateipfad
14.09.2016 14:36:29
Erik
Liebe Gemeinde,
ich habe folgendes Problem. Ich habe in einer Zelle ganz klassisch einen Dateipfad zu einer anderen Arbeitsmappe hinterlegt.
Per INDIREKT() beziehe ich diesen Pfad in eine SVERWEIS()-Funktion ein und lasse etwas aus der anderen Arbeitsmappe anzeigen.
Soweit so gut, funktioniert prima. ABER: Wenn der Dateipfad auf eine Arbeitsmappe auf einem Netzlaufwerk zeigt, dann geht es nicht und er zeigt mir den #BEZUG!-Fehler für die INDIREKT()-Funktion.
Ich würde mich freuen, wenn jemand von euch dieses Problem schonmal gelöst hat und mich daran teilhaben lässt. :)
Ich danke euch für eure Aufmerksamkeit und
Grüße aus Dresden
Erik
PS: Ich habe die Zielarbeitsmappe auch schön brav geöffnet im Hintergrund. Daran liegt es nicht. :)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: INDIREKT() mit Netzwerkdateipfad
14.09.2016 14:42:00
Daniel
Hi
Indirekt verarbeitet nur Bezüge auf geöffnete Dateien.
Geschlossene Dateien können per Indirekt nicht referenziert werden.
Dh du brauchst bei Indirekt sowieso nur die Datei angeben und kannst den Pfad weglassen.
Gruß Daniel
AW: INDIREKT() mit Netzwerkdateipfad
14.09.2016 15:00:41
UweD
Hallo
ich habe es mal nachgebaut.
so klappt es bei mir.
Userbild
Formel=

=SVERWEIS(C1;INDIREKT("'"&A1&"[Muster.xlsx]Auswertung A'!$I:$J");2;0)
Auch das vorherige öffnen per Makro geht.
Sub testen()
    Dim Pfad As String, Datei As String
    Pfad = "\\Server01\Data\ABT1\ABT2\User_alg\Temp\"
    Datei = "Muster.xlsx"
    Workbooks.Open Pfad & Datei
End Sub

Gruß UweD
Anzeige
AW: INDIREKT() mit Netzwerkdateipfad
14.09.2016 20:41:55
Erik
Lieber UweD,
du bist prima! Das war es! Ich brauche den UNC-Pfad der Datei. Ich bedanke mich bei dir für deine Hilfe!
Grüße
Erik
Prima! Danke für die Rückmeldung.
15.09.2016 07:53:24
UweD
AW: Prima! Danke für die Rückmeldung.
16.09.2016 09:54:20
Erik
Liebe Gemeinde,
anderen Menschen mit dem gleichen Problem mag ich gleich noch mithelfen. Folgendes Makro in ein Standardmodul packen:

'Quelle:  _
https://www.herber.de/forum/archiv/752to756/754940_Netzwerkpfad_auslesen.html
'Windows API einbinden, um den UNC-Pfad zu ermitteln
'Dokumentation: http://de. _
wikipedia.org/wiki/Uniform_Naming_Convention
Declare Function WNetGetConnection Lib "mpr.dll" _
Alias "WNetGetConnectionA" ( _
ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, _
cbRemoteName As Long) As Long
Public Function Netzwerkpfad_ermitteln(ByVal Lokaler_Dateipfad As String) As String
'// Methode:   | Konvertiert einen Pfad in UNC-Pfad (\\SERVER\...)
'// Parameter: | sLocalPath = gültiger, lokaler Pfad (X:\..)
'// Rückgabe:  | bei Erfolg = UNC-Pfad
'//            | bei Fehler = sLocalPath
Const KEIN_FEHLER  As Long = 0
Dim Netzwerkpfad    As String
Dim Zwischenergebnis     As String
Dim Laufwerk      As String
Netzwerkpfad_ermitteln = Lokaler_Dateipfad
If Mid(Lokaler_Dateipfad, 2, 1)  ":" Then Exit Function
'Die API-Funktion benötigt nur das Laufwerk
Laufwerk = Left(Lokaler_Dateipfad, 2)
Netzwerkpfad = String(260, 0)
'API-Funktion aufrufen, wenn sie keinen Fehler ergibt dann...
If WNetGetConnection(Laufwerk, _
Netzwerkpfad, _
Len(Netzwerkpfad)) = KEIN_FEHLER Then
Zwischenergebnis = Left(Netzwerkpfad, InStr(Netzwerkpfad, vbNullChar) - 1)
If Len(Zwischenergebnis) > 0 Then
Netzwerkpfad_ermitteln = Zwischenergebnis & Mid(Lokaler_Dateipfad, 3)
End If
End If
End Function
Anschließend kann man diese Funktion überall in Excel verwenden, in meinem Fall so:

=SVERWEIS("test";INDIREKT(Netzwerkpfad_ermitteln("V:\Ordner\Ordner\[Dateiname]Tabellenname! _
Bereich");2;0)

Anzeige

148 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige