in meiner Excel-Datei (Auswertung.xls) öffne ich mit unten stehendem Code die Daten-Datei und importiere die Daten. Nun möchte ich, dass beim Öffnen der Daten-Datei eine Dialogbox mit dem aktuellen Pfad und den darin enthaltenen xls Datein angezeigt wird, damit bei mehreren Daten-Dateien(Bsp1.xls; Bsp2.xls) die gewünschte Datei ausgewählt werden kann und die Daten aus dieser Datei dann importiert werden.
If MsgBox("Neue Daten importieren - Ja/Nein", vbYesNo + vbQuestion, " nur zur Sicherheit.") = vbYes Then
If MsgBox("Quell Diskette in Laufwerk A einlegen", _
vbOKCancel + vbQuestion, " nur zur Sicherheit.") = vbOK Then
Else
Worksheets("Start").Activate
Exit Sub
End If
Else
Worksheets("Start").Activate
Exit Sub
End If
Workbooks.Open("A:\Bsp.xls").Activate
Columns("A:AE").Select
Selection.Copy
Workbooks("Auswertung").Activate
Worksheets("Daten").Activate
ActiveSheet.Paste
Dim lLetzte As Long ' die letzte belegte Zeile
Dim aVar() ' ein Array zur Datenaufnahme
Dim iIndx_1 As Integer ' Array-Index der 1. Dimension - Zeilen
Dim iIndx_2 As Integer ' Array-Index der 2. Dimension - Spalten
lLetzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
aVar = Range("A1:AE" & lLetzte) ' die Daten an den Array übergeben
For iIndx_1 = 1 To lLetzte ' ab 1 bis zu letzten Zeile
For iIndx_2 = 1 To 5 ' ab Spalte 1 bis 5
If Not IsEmpty(aVar(iIndx_1, iIndx_2)) Then
If IsNumeric(aVar(iIndx_1, iIndx_2)) Then
aVar(iIndx_1, iIndx_2) = CDbl(aVar(iIndx_1, iIndx_2))
ElseIf IsDate(aVar(iIndx_1, iIndx_2)) Then
aVar(iIndx_1, iIndx_2) = CDate(aVar(iIndx_1, iIndx_2))
End If
End If
Next iIndx_2
Next iIndx_1
Range("A1:AE" & lLetzte) = aVar ' den Array zurückübertragen
Application.DisplayAlerts = False
Workbooks("Bsp.xls").Close
Application.DisplayAlerts = True
Worksheets("Daten").Visible = False
Worksheets("Start").Activate
von selli habe ich heute Nachmittag folgenden Code erhalten:
Sub pick_2()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Wählen Sie bitte ddie gewünschte Datei aus!"
.ButtonName = "Übernehmen"
.InitialFileName = ThisWorkbook.Path
'.Show
End With
If fd.Show = -1 Then
cells(1,1) = fd.SelectedItems(1)
End If
End Sub
jetzt habe ich das Problem, dass beide Codes einzeln funktionieren, aber den Mix bringe ich nicht zustande.
Kann mir jemand weiter helfen?
Gruss bully