leider finde ich per google & Co keine passende Lösung, bzw. nur eine, welche nicht das macht was ich mir vorstelle.
Ich benötige ein Code, welcher bei Click auf eine Schaltfläche in meiner Kalkulationsbasis einen Dialog öffnet in welchem ich mir eine xlsx-Datei von meinem Rechner öffnen kann. Diese zu öffnende Datei ist nicht immer dieselbe Datei, allerdings immer gleich formatiert, da es sich um einen Export aus einem Tool handelt. Somit möchte ich nur diese immer gleich formatierte Datei anwählen und es werden mit vier Bereiche (wie unten im Beispiel zu sehen) aus dieser Tabelle in die Kalkulationstabelle importiert. Auch die Kalkulationstabelle ist immer gleich aufgebaut, sodass die paste-Funktion statisch aufgebaut sein kann.
Neben dem Kernproblem, dass ich aus dem folgenden Script welches ich fand
Option Explicit
Dim Stamm As String
Dim varFile As Variant
Dim varName As Variant
Dim Blatt As String
Public Sub gaeb_import()
On Error GoTo Err
Stamm = ActiveWorkbook.Name
varFile = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", , "XLSx", "Auswahl", _
_
_
_
False)
If TypeName(varFile) Like "Boolean" Then
MsgBox "Keine Datei gewählt!", vbInformation
Exit Sub
Else
varName = Right$(varFile, Len(varFile) - InStrRev(varFile, "\"))
Workbooks.Open varFile
Workbooks(varName).Sheets("GAEB_Konverter_LV").Range("D2:F497").Copy
Workbooks(Stamm).Sheets("Kalkulation").Range("D5:F500").PasteSpecial xlPasteValues
Workbooks(varName).Sheets("GAEB_Konverter_LV").Range("G2:G497").Copy
Workbooks(Stamm).Sheets("Kalkulation").Range("AW5:AW500").PasteSpecial xlPasteValues
Workbooks(varName).Close
Application.CutCopyMode = False
End If
Exit Sub
Err:
Call MsgBox("Bitte überprüffen ob die Tabellen" _
& vbCrLf & "Nord und Süd vohanden sind 1" _
, vbExclamation, "Fehler")
End Sub
überhaupt nichts importiert bekomme, hat die Datei aus der importiert werden soll nicht immer die gleiche Anzahl an Zeilen. Es geht bei dieser Datei um eine Anfrage, die mal 30 Position beinhaltet und mal 354. Leider würde es nicht funktionieren einfach Pauschal eine ganze Spalte zu übernehmen da
a) ich in die Kalkulation nicht die Spalte 1:1 übernehmen kann (erst ab der 5. Zeile)
b) in der Importdatei unter den Positionen eine Summierung ist, welche ich nicht mit in die Kalkulation übernehmen kann...
Ich hoffe, dass ich einigermaßen verständlich erklären konnte, was ich benötige.
Ich bedanke mich schon einmal im Voraus!
Beste Grüße
Gregy