Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1052to1056
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

Datei aus einem bestimmten Verzeichniss wählen

Datei aus einem bestimmten Verzeichniss wählen
23.02.2009 12:40:34
Edward
Hallo Leute
Ich bracuhe Hilfe!!
Ich wollte einen Makro erstellen zum importieren von xls dateien, aber das auf eine besondere art und weise.
In der form soll festgelegt werden in welchem ordner die datei gesucht werden soll.
In der Textbox soll dann nur noch der dateiname angegeben werden und wenn man dann auf den button klickt soll sie importiert werden in meine geöffnete mappe eingefügt werden.
Ich bin totaler anfänger und brauche dringend hilfe....
ich würde mich riesig freuen falls jemand eine idee hätte wie man so etwas machen könnte.
Danke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei aus einem bestimmten Verzeichniss wählen
23.02.2009 14:43:57
Matthias
Hi Edward,
am einfachsten geht das in zwei Schritten.
Das erste macro kopierst Du in den Code eines Commandbuttons. Dazu fügst Du auf Dein Arbeitsblatt einen Commandbutton ein. Durch rechtsclick auf den Commandbutton (geht nur im "Design-modus"), kannst Du auf Codeansicht (heisst vielleicht auf Deutsch ein bisschen anders). Dort fügst Du folgenden Code ein:

Private Sub CommandButton1_Click()
Dim fd As FileDialog, lngRet As Long
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.InitialFileName = folderpath
fd.Filters.Add "Import File", "*.xls", 1
fd.FilterIndex = 1
fd.AllowMultiSelect = False
lngRet = fd.Show
If lngRet Then
ActiveSheet.Range("b10") = fd.SelectedItems(1)
End If
End Sub


Die erste und letzte Zeile sollten so oder so ähnlich bereits da stehen.
Das Macro öffnet den Filedialog und schreibt das Ergebnis in die Zelle B10
Anschließend fügst Du ein neues Modul im VBA editor ein. Und pastet dorthinein fiolgenden Code:


Public Sub copy_data()
Dim lastupdate As String
Dim Sapfilename_i As String
Dim sapfilename_m As String
sapfilename_m = ActiveWorkbook.Name
Sheets("Sheet2").Cells.Clear
Sapfilename = Sheets("Sheet1").Range("b10")
Workbooks.OpenText Filename:=Sapfilename
lastupdate = FileDateTime(Sapfilename)
Cells.Copy
Application.DisplayAlerts = False
Sapfilename_i = ActiveWorkbook.Name
Workbooks(sapfilename_m).Activate
Sheets("Sheet2").Activate
ActiveSheet.Paste
Workbooks(Sapfilename_i).Close
Sheets("Sheet1").Activate
Sheets("Sheet1").Range("b11") = lastupdate
Application.DisplayAlerts = True
End Sub


Dieser Code kopiert die Daten aus der der Datei die in Zelle B10 des Sheet1 genannt ist (musst Du gegebenenfalls anpassen) , in das sheet 2. Ausserdem schreibt Dir das Macro in duie Zelle B11 das letzte Änderungsdatum der importierten Datei.
Das zweite Macro kannst Du natürlich auch per commandbutton starten. Dazu schreibst Du bei einem zweiten Commandbutton in den Code:


Private Sub CommandButton2_Click()
copy_data
End Sub


Rückmeldung wäre nett.
Der Vollständigkeithalber sei erwähnt, dass ich mir einige Teile dieses macros schon vor einiger zeit aus dem internet zusammengeklaut hatte (Herber.de sei Dank!!)) - und das es sicherlich auch eleganter geht (mein VBA-level ist nicht gerade hoch :-) )
Grüße
MatthiasP

Anzeige
DANKEEE
23.02.2009 15:58:23
Edward
Danke!!!
Ich werde ihn gleich morgen ausprobieren und dir sagen ob es funktioniert!
VIELEN DANK!!!
wenigstens einer der mir helfen will..
Problem
24.02.2009 08:52:42
Edward
Wenn ich auf den ersten Button drücke dann öffnet sich der von mir eingebene dateipfad..
aber es wird in keinem einzigen ordner irgendeine datei angezeigt?
warum?
AW: Problem
24.02.2009 08:56:49
Edward
also es sollte schon möglich sein alle dateien zu öffnen ... tu mit leid dass ich mich falsch ausgedrückt habe :S
AW: DANKEEE
24.02.2009 09:14:30
Edward
okeeeeeeeeee....jetz klappt das zwar mit der datei öffnen, ABER
es steht nur der dateipfad in der Mappe1 da....die datei sollte sich schon richtig öffnen können, sodass die ganzen werte zu sehen sind...und dass mit dem copieren klappt auch nich...da ist ein fehler beim debuggen; es ist das fettgedruckte:

Public Sub copy_data()
Dim lastupdate As String
Dim Sapfilename_i As String
Dim sapfilename_m As String
sapfilename_m = ActiveWorkbook.Name
Sheets("Sheet2").Cells.Clear
Sapfilename = Sheets("Sheet1").Range("b10")
Workbooks.OpenText Filename:=Sapfilename
lastupdate = FileDateTime(Sapfilename)
Cells.Copy
Application.DisplayAlerts = False
Sapfilename_i = ActiveWorkbook.Name
Workbooks(sapfilename_m).Activate
Sheets("Sheet2").Activate
ActiveSheet.Paste
Workbooks(Sapfilename_i).Close
Sheets("Sheet1").Activate
Sheets("Sheet1").Range("b11") = lastupdate
Application.DisplayAlerts = True
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige