HERBERS Excel-Forum - die Beispiele

Thema: Aus einer Tabelle die Daten nach Ort und Datum abgreifen

Home

Gruppe

Funktion

Problem

Im Bereich B12:G13 sollen die Daten des in der Liste aus Zelle B11 ausgewählten Ortes aus der oberen Tabelle abgerufen werden.

Lösung
Darstellung nur anhand einer Beispielarbeitsmappe möglich.
StandardModule: basFunctions

Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

Declare Function SHGetPathFromIDList Lib "shell32.dll" _
    Alias "SHGetPathFromIDListA" _
      (ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
  Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Function GetDirectory(Optional Msg As String) As String
    Dim bInfo As BROWSEINFO
    Dim Path As String
    Dim r As Long, x As Long, pos As Integer
    bInfo.pidlRoot = 0&
    If IsMissing(Msg) Then
        bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
    Else
        bInfo.lpszTitle = Msg
    End If
    bInfo.ulFlags = &H1
    x = SHBrowseForFolder(bInfo)
    Path = Space$(512)
    r = SHGetPathFromIDList(ByVal x, ByVal Path)
    If r Then
        pos = InStr(Path, Chr$(0))
        GetDirectory = Left(Path, pos - 1)
    Else
        GetDirectory = ""
    End If
End Function

Function FileArray(strPath As String, strPattern As String)
   Dim arrDateien()
   Dim intCounter As Integer
   Dim strDatei As String
   If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
   strDatei = Dir(strPath & strPattern)
   Do While strDatei <> ""
       intCounter = intCounter + 1
       ReDim Preserve arrDateien(1 To intCounter)
       arrDateien(intCounter) = strDatei
       strDatei = Dir()
   Loop
   FileArray = arrDateien
End Function

StandardModule: basMain

Sub DatenImport()
   Dim arr As Variant
   Dim iCounter As Integer, iRow As Integer
   Dim sPath As String
   Application.ScreenUpdating = False
   sPath = GetDirectory( _
      "Bitte Pfad der Quelldateien auswählen:")
   If sPath = "" Then Exit Sub
   arr = FileArray(sPath, "*.xls")
   iRow = 1
   For iCounter = 1 To UBound(arr)
      Workbooks.Open sPath & "\" & arr(iCounter)
      Range("A1:C10").Copy _
         ThisWorkbook.Worksheets("Tabelle1").Cells(iRow, 1)
      ActiveWorkbook.Close savechanges:=False
      iRow = iRow + 10
   Next iCounter
   Application.ScreenUpdating = True
End Sub

Beiträge aus dem Excel-Forum zu den Themen Funktion und INDEX

Copy funktioniert nur einmal Schreibschutz prüfen funktioniert nicht
Split-Funktion beim Einlesen TXT-Datei Match Funktion spinnt (?)
SVerweis funktioniert nicht PasteSpecial funktioniert nicht.
VERGLEICH/INDEX Formelproblem VBA-Code funktioniert nicht mit anderem Office
Hilfe bei der INDEX Funktion Index Formel_Berechnung nur bei bestimmten Wert
neues Aktien Index Problem Array - Index außerhalb des gültigen Bereichs
Zelladressen von FunktionsParametern ermitteln Index Vergleich Formel mit Summenformel
Matrixformel mit Summenfunktion Formel funktioniert nicht, SVerweis
Makro funktioniert nach Beenden von Excel nicht VLOOKUP auf Links funktioniert offline
Formel Index(RGP @DAVID Zwei SUMMEWENN funktionen verknüpfen
Zwei SUMMEWENN funktionen verknüpfen Polynomfunktion
Mit vba Funktionen in Excel Zellen Interior.ColorIndex
Rang-Funktion für Strings? Skript funktioniert nur auf einer seite?!?!
Hyperlink auf Excel-Datei funktioniert nicht Public Funktion / Variabel
VBA - Suchfunktion - Fehlermeldung Benutzerdefinierte Funktion
Userform mit Löschfunktion Frage zu Wenn Dann Funktion
Wenn-Funktion Colorindex Excel-Word RGB-Werte
Frage zur Funktion DISAGIO Funktion um Chart zu kreieren
Wenn-Funktion verschachtelt VBA Suchfunktion erweitern
Makro funktioniert nicht richtig Kombination von INDEX/Vergleich für Wertevergleich
zählenwenn-funktion mit mehreren kriterien Funktion SVERWEIS
Benutzerdefinierte Funktion in Open Office Funktion Dezimal -> Zeit/ Variablen-Deklaration
Probleme mit Textfunktionen Fehler, wenn Variable in Funktion
VBA-Funktion analog =ZELLE("Zeile") Gültigkeit funktioniert nicht!
Zellausrichtung funktioniert nicht WENN-Funktion