Thema Datum  Von Nutzer Rating
Antwort
16.08.2020 12:45:00 resolut
NotSolved
Blau Abfrage externer Daten mittels VBA?
16.08.2020 14:07:09 Gast68764
NotSolved
16.08.2020 14:25:09 resolut
NotSolved
16.08.2020 14:54:40 resolut
Solved
16.08.2020 15:04:16 Gast74224
NotSolved
16.08.2020 15:35:33 respolut
NotSolved
18.08.2020 04:15:36 Gast70049
NotSolved
19.08.2020 08:48:01 resolut
NotSolved

Ansicht des Beitrags:
Von:
Gast68764
Datum:
16.08.2020 14:07:09
Views:
445
Rating: Antwort:
  Ja
Thema:
Abfrage externer Daten mittels VBA?

Ungetestet.

Option Explicit

Sub Test123()

  Dim objFilePickerDlg As Office.FileDialog

'# Datei-Auswahl-Dialog (Mehrfachauswahl) >>
  Set objFilePickerDlg = Application.FileDialog(msoFileDialogFilePicker)
  objFilePickerDlg.AllowMultiSelect = True
  objFilePickerDlg.Title = "Bitte Dateien auswählen..."
  objFilePickerDlg.Filters.Delete
  objFilePickerDlg.Filters.Add "Excel-Dateien", "*.xlsx,*.xls"

  If objFilePickerDlg.Show = 0 Then Exit Sub
'# Datei-Auswahl-Dialog (Mehrfachauswahl) <<

  Dim wkb As Excel.Workbook
  Dim wks As Excel.Worksheet
  Dim rng As Excel.Range
  Dim i As Long
  Dim j As Long

'# Verarbeitung/Daten kopieren (Dateien) >>

  Application.ScreenUpdating = False

  'Zielort: Erste Zelle für Ausgabe (ggf. anpassen)
  Set rng = ThisWorkbook.ActiveSheet.Range("A2")

  For i = 1 To objFilePickerDlg.SelectedItems.Count
    
    'Datenquelle öffnen und Daten von Blatt lesen
    Set wkb = Workbooks.Open(objFilePickerDlg.SelectedItems(i), ReadOnly:=True)
    Set wks = wkb.Worksheets(1) 'wkb.Worksheets("Tabelle1")

    'Werte in Zeile nebeneinander schreiben
    rng.Offset(0, 0).Value = wks.Range("D6").Value 'D6 - Lieferdatum
    rng.Offset(0, 1).Value = wks.Range("D2").Value 'D2 - wer hat bestellt
    rng.Offset(0, 2).Value = wks.Range("I7").Value 'I7 - Bestellsumme

    If i < objFilePickerDlg.SelectedItems.Count _
      Then Set rng = rng.Offset(1)

    Call wkb.Close(False)

  Next

  'Daten-Bereich ref.
  Set rng = rng.Offset(1 - objFilePickerDlg.SelectedItems.Count).Resize(objFilePickerDlg.SelectedItems.Count, 3)

  'nach erster Spalte sortieren (Lieferdatum)
  With rng.Worksheet.Sort
    Call .SortFields.Clear
    Call .SortFields.Add2(Key:=rng.Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal)
    Call .SetRange(rng)
    Call .Apply
  End With

  Application.ScreenUpdating = True
  
  Call MsgBox("Fertig.", vbInformation)
  
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
16.08.2020 12:45:00 resolut
NotSolved
Blau Abfrage externer Daten mittels VBA?
16.08.2020 14:07:09 Gast68764
NotSolved
16.08.2020 14:25:09 resolut
NotSolved
16.08.2020 14:54:40 resolut
Solved
16.08.2020 15:04:16 Gast74224
NotSolved
16.08.2020 15:35:33 respolut
NotSolved
18.08.2020 04:15:36 Gast70049
NotSolved
19.08.2020 08:48:01 resolut
NotSolved