Anzeige
Archiv - Navigation
1668to1672
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

per Vlookup Daten aus externer Datei übertragen

per Vlookup Daten aus externer Datei übertragen
28.01.2019 14:59:56
Cevren
Hi, Ich würde gerne einzelne Daten verschiedener Datein mit wechselnder Struktur per Vlookup auslesen und übertragen. Mein Ansatz hat schon für eine andere, jedoch statische Funktion, sehr gut funktioniert aber mit der Dynamik von Vlookup komm ich nicht weiter.
Hier was ich hab:
Public Function RC1DateiEinlesen() As String
Dim oFileDialog As FileDialog
Dim SourceRange As Range
Dim DestinationRange As Range
Dim RC1Dateiname As String
Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With oFileDialog
.Title = "Datei Einlesen"
.Filters.Add "XML-Dateien", "*.xml", 1
.ButtonName = "Einlesen"
If .Show = -1 Then RC1DateiEinl = .SelectedItems(1)
If RC1DateiEinl  "" Then
Workbooks.Open RC1DateiEinl
RC1Dateiname = ActiveWorkbook.Name
getMoreSpeed True
'läuft durch aber findet keine Werte (#Name)... Habe hier den Namen der Datei zur  _
Funktionskontrolle eingegeben wie das mit einer Variable zu lösen ist habe ich noch keine  _
Ahnung :D
'With Range("D5")
'.Formula = "=VLookup(" & Range("AB4") & "," & "'[AG 8-22 1-19.xml] _
Tabellen_Ausgabe'!$A$1:$W$15, 4, False)"
'.Formula = .Value
'End With
'läuft nicht durch... bekomme ständig entwerder "außerhalb Index"-Fehler oder "Objekt  _
erforderlich"
'Set SourceRange = Application.WorksheetFunction.VLookup(Range("AB4").  _
_
Value, Workbooks(RC1Dateiname).Worksheets("Tabellen_Ausgabe").Range("A1:P99").Value, 4, False)
'Set DestinationRange = ThisWorkbook.Sheets("Resultierend").Range("D5")
'DestinationRange.Value = SourceRange.Value
Workbooks(RC1Dateiname).Close savechanges:=False
getMoreSpeed False
End If
End With
End Function
Jemand eine Idee?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per Vlookup Daten aus externer Datei übertragen
31.01.2019 14:22:44
Cevren
Nicht elegant aber eine Lösung:
Public Function RC1DateiEinlesen() As String
Dim oFileDialog As FileDialog
Dim DestinationRange As Range
Dim RC1Dateiname As String
Dim myLookupValue As String
Dim myFirstColumn As Long
Dim myLastColumn As Long
Dim myColumnIndex As Long
Dim myFirstRow As Long
Dim myLastRow As Long
Dim myVLookupResult As Currency
Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
Set DestinationRange = Range("D5")
Dim myTableArray As Range
myLookupValue = "im Mittel"
myFirstColumn = 1
myLastColumn = 26
myColumnIndex = 4
myFirstRow = 1
myLastRow = 90
With oFileDialog
.Title = "Datei Einlesen"
.Filters.Add "XML-Dateien", "*.xml", 1
.ButtonName = "Einlesen"
If .Show = -1 Then RC1DateiEinl = .SelectedItems(1)
If RC1DateiEinl  "" Then
Workbooks.Open RC1DateiEinl
RC1Dateiname = ActiveWorkbook.Name
getMoreSpeed True
With Workbooks(RC1Dateiname).Worksheets("Tabellen_Ausgabe")
Set myTableArray = .Range(.Cells(myFirstRow, myFirstColumn), .Cells(myLastRow,  _
myLastColumn))
End With
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray, myColumnIndex,  _
False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("E5")
myColumnIndex = 5
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("F5")
myColumnIndex = 6
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("G5")
myColumnIndex = 7
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("h5")
myColumnIndex = 8
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("i5")
myColumnIndex = 9
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("K5")
myColumnIndex = 10
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("L5")
myColumnIndex = 11
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("M5")
myColumnIndex = 12
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("n5")
myColumnIndex = 13
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("o5")
myColumnIndex = 14
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("p5")
myColumnIndex = 15
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("q5")
myColumnIndex = 16
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Set DestinationRange = Range("r5")
'myColumnIndex = 17
'myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
myVLookupResult = 100 'Lastrada nimmt kein Durchgang 56mm
DestinationRange = myVLookupResult
Set DestinationRange = Range("w5")
myColumnIndex = 25
myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray,  _
myColumnIndex, False)
DestinationRange = myVLookupResult
Workbooks(RC1Dateiname).Close savechanges:=False
getMoreSpeed False
End If
End With
End Function

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige