Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

XLS Datendatei auswählen

XLS Datendatei auswählen
09.08.2007 11:45:00
bully
Hallo Excel-Freunde,
in meiner Excel-Datei ö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 Verzeichnis und den darin enthaltenen xls Datein angezeigt wird, damit bei mehreren Daten-Dateien die gewünschte Datei ausgewählt werden kann und die Daten aus dieser Datei dann importiert werden.
Ich habe bereits die Recherche durchsucht, bin aber auf keine Lösung gestossen die meine Zwecke erfüllt.
Kann mir jemand von euch die Augen öffnen?
Gruss bully


    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


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XLS Datendatei auswählen
09.08.2007 11:57:34
selli

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 = "C:\Temp"
'.Show
End With
If fd.Show = -1 Then
cells(1,1) = fd.SelectedItems(1)
End If
End Sub


hallo bully,
dieser code übernimmt die ausgewählte datei in zelle A1 (ggf. anpassen), auch anzupassen ist das startverzeichnis (hier: .InitialFileName = "C:\Temp")
gruß selli

AW: XLS Datendatei auswählen
09.08.2007 12:41:29
bully
Hi selli,
danke für deine schnelle Antwort. So etwas habe ich mir vorgestellt. Ist es möglich, dass bei wechselndem Pfad (A:\ oder F:\temp\) immer der aktuelle Pfad angezeigt wir, von dem aus ich auch die Auswertung.xls starte?
Gruss bully

Anzeige
AW: XLS Datendatei auswählen
09.08.2007 12:57:00
Case
Hallo,
schreibe:

.InitialFileName = ThisWorkbook.Path


Dann wird immer der Pfad genommen in dem die Datei mit dem Makro ist.

Servus

Case

ThisWorkbook.Path
09.08.2007 13:05:50
selli
ersetze "C:\Temp" durch ThisWorkbook.Path (ohne anführungsstriche)
gruß selli

AW: ThisWorkbook.Path
09.08.2007 13:27:28
bully
Hi,
O.k. so funktioniert es.
Danke für eure Hilfe
Gruss bully

AW: ThisWorkbook.Path
09.08.2007 14:19:00
bully
Hi selli,
ich kriege es doch nicht hin.
Der Auswahldialog funktioniert soweit. Jetzt habe ich ihn vermutlich in meinem Code nicht richtig integriert. Ich kann die Daten-Datei auswählen und anklicken aber er schreibt mir nur den Pfad der Daten-Datei in Celle A1 meiner Start Tabelle. Wie bekomme ich es hin, dass er mir die Bsp.xls öffnet, und die vorhandenen Daten dann in meiner Start Datei (Auswertung.xls) ins Tabellenblatt "Daten" kopiert, die Bsp.xls schliesst und die Start Tabelle aktiviert?
Kurz, wie und wo muss ich den Dialog in meinen Code integrieren?
Gruss bully

Anzeige
AW: XLS Datendatei auswählen
09.08.2007 12:04:00
Firmus
Hallo Bully,
hier ein code-fragment, das das klassische File-Open-Window von Excel öffnet.
Darin kann eine File ausgewählt werden.
Den Pfad kannst Du im Vorfeld über einen Dialog einstellen.
(oder, wie ich: aus einer Zelle einlesen.)
das copy/past ist nicht getested, soll auch nur eine Idee geben.
Const LF = "C:\"
Const pfadout = "C:\Kto2002_D"
Const pfadkto = "C:\Programme\T-Online40\OB4HBCI\Export"
Const filekto = "akontolfd_26jan04.txt"
Const fileout = "akontolfd_26jan04.xls"
'
ChDrive LF
ChDir pfadkto
'
Workbooks.OpenText Filename:=filekto, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1)), _
TrailingMinusNumbers:=True
ChDir pfadout
ActiveWorkbook.SaveAs Filename:=fileout _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Vielleicht hilft's Dir weiter,
Gruss,
Firmus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige