Daten aus anderen Datein importieren - Makro? VBA? | Herbers Excel-Forum

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Betrifft: Daten aus anderen Datein importieren - Makro? VBA?
von: Matthias
Geschrieben am: 29.06.2011 14:39:07

Hallo Experten,
Ich habe folgendes Problem. Ich habe ein Excel Tabellenblatt. Hier soll eine Gesellschaft Ihre Daten in den Zeilen erfassen. Diese Datei heisst immer gleich und wird mir jeweils von der Gesellschaft zugeschickt. Ich habe jetzt nun 30 Dateien von 30 Gesellschaften und möchte mir eine Datei machen mit 30 Tabellenblättern. Statt jede datei aufzumachen und die Daten copy paste in meine Datei einfügen, würde ich es gerne per Konopfdruck automatisch machen, dass die Daten in das entsprechende Tabellenblatt von der entsprechenden Datei der Gesellschaft automatisch importiert werden.
Das geht glaube ich nur mit VBA und von VBA habe ich leider keine Ahnung.
Ich danke Euch im Voraus für eure Hilfe.
Gruss
Matthias

Betrifft: AW: Daten aus anderen Datein importieren - Makro? VBA?
von: Rudi Maintaire
Geschrieben am: 29.06.2011 15:25:54
Hallo,
Daten in den Blättern ab A1.
Alle Dateien in einem Ordner. Und nur die!
Blätter in der Sammelmappe heißen wie die Dateien ohne .xls.

Sub prcImport()
  Dim sFile As String, sName As String, wks As Worksheet
  Const sPfad As String = "c:\test\"  'anpassen
  Const strExt As String = ".xls"     'anpassen
  
  Application.ScreenUpdating = False
  sFile = Dir(sPfad & "*" & strExt, vbNormal)
  Do While sFile <> ""
    sName = Left(sFile, Len(sFile) - Len(strExt))
    Set wks = Workbooks.Open(sPfad & sFile).Sheets(1)
    wks.Cells(1, 1).CurrentRegion.Offset(1).Copy _
      ThisWorkbook.Sheets(sName).Cells(Rows.Count, 1).End(xlUp).Offset(1)
    wks.Parent.Close False
    sFile = Dir
  Loop
End Sub

Gruß
Rudi

Betrifft: AW: Daten aus anderen Datein importieren - Makro? VBA?
von: Matthias
Geschrieben am: 29.06.2011 15:31:15
Hi Rudi,
Vielen Dank erstmal. Nur noch bisschen für mein Verständnis. Dort wo "anpassen" steht muss ich den Ordner Pfad eingeben, oder? beim zweiten "anpassen" weiss ich aber nicht was ich ändern soll?
Gruss
Matthias

Betrifft: AW: Daten aus anderen Datein importieren - Makro? VBA?
von: Rudi Maintaire
Geschrieben am: 29.06.2011 15:32:33
Hallo,
1. richtig
2. kann ja sein, dass du .xlsx verarbeiten willst.
Gruß
Rudi

Betrifft: AW: Daten aus anderen Datein importieren - Makro? VBA?
von: Matthias
Geschrieben am: 29.06.2011 15:47:29
Funktioniert irgendwie bei mir nicht. Bei uns hat dies bereits jemand gemacht mit folgendem Macro. Wenn ich jedoch das Makro anpasse funktioniert alles gut, jedoch bekomme ich nach dem Import eine Fehlermeldung Error 400. Was bedueted unterhalb das "si"?
Danke und Gruss
Matthias

Sub ImportTable()
    Dim dlg As FileDialog
    Dim si As Variant, Frage
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    With dlg
        .AllowMultiSelect = True
        .InitialFileName = "*.xls"
        .InitialView = msoFileDialogViewDetails
        .Title = "ImportTable"
    End With
    If dlg.Show = True Then
        Frage = MsgBox("Delete files after import?", vbYesNo)
        For Each si In dlg.SelectedItems
            Workbooks.Open Filename:=si
            Worksheets("Overdues Reported").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets. _
Count)
            Workbooks(Dir(si)).Close savechanges:=False
            If Frage = vbYes Then Kill si
        Next
    End If
End Sub


Betrifft: AW: Daten aus anderen Datein importieren - Makro? VBA?
von: Matthias
Geschrieben am: 29.06.2011 15:55:23
Hallo Rudi,
Dein Makro läuft tip top und funktioniert.
Vielen Dank und Gruss
Matthias

Beiträge aus den Excel-Beispielen zum Thema "Daten aus anderen Datein importieren - Makro? VBA?"