Anzeige
Archiv - Navigation
1628to1632
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

Ordner/ Subordner auslesen

Ordner/ Subordner auslesen
12.06.2018 08:08:52
Rene
Servus zusammen,
Ich hab mir den Code etwas zusammen geschustert und mit eignem Wissen erweitert.
Er funktioniert soweit auch, aber bei der Abfrage des Blattes, muss die Eingabe doppelt getätigt werden. Wieso?
Und gibt es eine bessere Variante 2 Bereiche aus 2 verschiedenen Blättern aus 1 Datei zu ziehen?
Ich bin für jeden Input dankbar. :)
Option Explicit

Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte
' On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
'.Value2 = .Value2
End With
GetDataClosedWB = True
Exit Function
' InvalidInput = MsgBox("Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "  _
_
Get data from closed Workbook")
GetDataClosedWB = False
End Function
Public Sub HoleDaten()
' Holt Daten aus der obrigen GetDataClosedWB
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Dim oWs             As Worksheet
Dim anz             As String
' With Application.FileDialog(msoFileDialogFilePicker)
'     .Title = "Choose source folder"
'     .ButtonName = "Start import"
'     If .Show  -1 Then Exit Sub
'     Pfad = .SelectedItems(1)
' End With
' Delivery Reiter wird abgefragt
Pfad = "C:\.."
Dateiname = "Test.xls"                              ' aus welcher Datei soll er holen?
Blatt = "Delivery"                                  ' von welcher Tabelle soll er holen?
Bereich = "AN14:AQ101"                              ' aus welchem Bereich soll er holen?
Set Ziel = Worksheets("Daten_ALL_1").Range("A2")    ' in welchen Bereich soll er kopieren?   _
_
Genauer gesagt: Bei welcher Zelle soll er anfangen, Datein reinzukopieren?
' Set Ziel = ActiveSheet.Cells(Range("A1").End(xlDown).Row + 1, 1).Select
' Set Ziel = anz
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten SWFL importiert"                  ' MsgBox wenn SWFL Daten erfolgreich  _
importiert wurden
End If
' Logistic Reiter wird abgefragt
Blatt = "Logistic"
Bereich = "B12:F16"
Set Ziel = Worksheets("Daten_ALL_1").Range("H2")
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten SGBM importiert"                  ' MsgBox wenn SGBM Daten erfolgreich  _
importiert wurden
End If
' Aufruf von Hilfsfunktionen zur Löschung und Formatierung der Spalten
Call Leerzeilen_loeschen
Call Formatierung_SWFL
Call Formatierung_SGBM
' Wahl des Feldes welches nach der Ausfürhung angewählt wird
Range("F2").Select
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner/ Subordner auslesen
12.06.2018 08:58:10
Robert
Hallo Rene,
was meinst Du mit "... aber bei der Abfrage des Blattes, muss die Eingabe doppelt getätigt werden ..."? Fragt Excel nach der Datei mit einem Dialogfenster "Werte aktualisieren"? Dann findet Excel die in Deinem Code genannte Datei und/oder Pfad nicht.
Das liegt wahrscheinlich an dem Pfad. Ändere die Zeile
Pfad = "C:\.."
mal in
Pfad = "C:\"
Dann müsste es klappen, wenn die Datei Test.xls (und nicht Test.xlsx) im Stammverzeichnis von C: liegt.
Gruß
Robert
AW: Ordner/ Subordner auslesen
12.06.2018 10:41:58
Rene
Ja er frägt nach Werte aktualisieren.
Ich hab den kompletten Pfad normalerweise angegeben und den öffnet er auch.
Die Sheets heißen auch exakt wie in der Datei, aber er frägt 2x nach ob z.B. "Delivery" genommen werden soll.
Kennst du eine bessere Möglichkeit?
Anzeige
AW: Ordner/ Subordner auslesen
12.06.2018 10:58:16
Robert
Hallo Rene,
hast Du mal den Zuweisung der Variablen "Pfad" wie in meinem Post erläutert, geändert. Kommen dann immer noch die Dialoge? Was meinst Du mit "Ich hab den kompletten Pfad normalerweise angegeben und den öffnet er auch." Wenn der mit den 2 Punkten, wie in Deinem geposteten Beispiel, angegeben ist, kann es nicht klappen.
Wenn die Meldung wie folgt aussieht, stimmt etwas mit dem Pfad oder dem Dateinamen nicht:
Userbild
Sieht die Meldung wie folgt aus, stimmen zwar Pfad und Dateiname, aber der Tabellenname wird nicht gefunden:
Userbild
Gruß
Robert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige