Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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

VBA-Datenimport aus Netzlaufwerk

VBA-Datenimport aus Netzlaufwerk
28.02.2017 11:09:06
Michael
Hallo zusammen,
habe mir als absoluter VBA-Anfänger eine Code zusammengebastelt, der auch funktioniert. Es handelt sich dabei um einen Datenimport, immer der gleichen Zeller vieler Excel-Mappen, welche in einem Pfad liegen. Die Daten werden dynamisch fortlaufend in eine Art "Controlling-Excel" importiert.
Hier die Code-Schnipsel:
Private Function GetValue(pfad, datei, blatt, zelle)
Dim arg As String
If Right(pfad, 1)  "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = ""
Exit Function
End If
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, ,  _
xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function

Sub Import_Data()
Dim i, j As Integer
Dim pfad As String, datei As String, blatt As String, zelle As String
For i = 30 To 1000
If Cells(i, 3) = " " Then
MsgBox "Import der Arbeitszeiten abgeschlossen." & " " & Date & " " & Time
Exit For
End If
For j = 4 To 15
pfad = Worksheets("Parameter").Range("C15")  'Pfadangabe aus Tabellenblatt  _
Parameter
datei = Worksheets("Parameter").Cells(i, j) 'Dateiname ebenfalls aus Parameter
blatt = "Leistungsnachweis"
zelle = "C11"
Cells(i, j).Value = GetValue(pfad, datei, blatt, zelle)
Next j
Next i
End Sub
Das Ganze funktioniert wie gesagt tadellos. Problem ist nur, dass die Datei und das Makro auch Andere nutzen können sollen, wofür ein lokaler Pfad nur bedingt geeignet ist. Dazu kommt, dass die Dateien zusätzlich auf einen Server liegen, wo diese auch aktualisiert werden und neue Dateien dazukommen.
Deswegen ist mein Zielbild, den Code für den Import so abzuändern, dass direkt die Daten direkt vom Server importiert werden.
Bei einem manuellen Beispiel funktioniert der direkte Import vom Server auch schon einmal. Hier der Code:
Sub DatenUeberHyperlinkHolen()
ActiveWorkbook.Worksheets(1).Cells(1, 1).FormulaLocal = "='https://beispiel.url.de/svn/ _
Projekte/DLMgmt/02_G3/Leistungsnachweise/2016/[Dateiname.xls]Leistungsnachweis'!C11"
End Sub
Allerdings bin ich gerade am Verzweifeln, die beiden ersten Codes so anzupassen, dass der Datenimport vom Server auch in der dynamischen Form funktioniert.
Liegt dies an der neuen Funktion (FormulaLocal anstatt Exercute4ExcelMakro)?
Wäre super, wenn mir von euch jemand auf die Sprünge helfen könnte!
Vielen Dank im Voraus
Michael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Datenimport aus Netzlaufwerk
01.03.2017 11:48:14
Herbert
Hallo Michael,
versuche es mal, in dem Du den Zeilenumbruch raus nimmst und die Formel durchschreibst. Nämlich so:
ActiveWorkbook.Worksheets(1).Cells(1, 1).FormulaLocal = "='https://beispiel.url.de/svn/Projekte/DLMgmt/02_G3/Leistungsnachweise/2016/[Dateiname.xls]Leistungsnachweis'!C11"
Servus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige