Herbers Excel-Forum - das Archiv

Daten einlesen über Pull-down

Bild

Betrifft: Daten einlesen über Pull-down
von: junny
Geschrieben am: 15.10.2003 06:44:02
Hallo Leute,
ich möchte Mappen-Inhalte und Tabellen aus einem bestimmetn Ordner einlesen.
Das Ganze soll ungefähr so aussehen:
Ich starte das Makro, Pull-down menu geht auf, (Anzeige der Mappen des festgelegten Ordners) nun Auswahl der gewünschten Mappe. Dabei soll nur der Inhalt von "Tabelle1" sowie "Tabelle2" als komplettes Sheet eingefügt werden.

>Das mit Inhalte eines Ordner habe ich schon, jedoch nicht über Pull-down<

Wäre nett wenn mir da jemand irgendwie weiterhelfen könnte.

Grüsse volker

Bild

Betrifft: AW: Daten einlesen über Pull-down
von: GraFri
Geschrieben am: 15.10.2003 17:58:18
Hallo

Gib deine EMail-Adresse bekannt (oder schick sie mir zu) und ich schicke dir eine Lösung

mfg, GraFri
Bild

Betrifft: AW: Daten einlesen über Pull-down
von: junny
Geschrieben am: 16.10.2003 08:20:30
Hai GraFri,
das ist aber ein nettes Angebot v.weil@kappler.de

Gruss volker
Bild

Betrifft: AW: Daten einlesen über Pull-down
von: Willie
Geschrieben am: 15.10.2003 18:48:01
Hallo Volker
Hier habe ich dir ein Makro gebastelt!
Gruß
Willie

Sub junny()
wert = 1
Dim datei As String
ZuÖffnendeDatei = Application.GetOpenFilename("Textdateien (*.xls), *.xls")
If ZuÖffnendeDatei <> False Then
Workbooks.Open FileName:=ZuÖffnendeDatei
datei = Mid(ZuÖffnendeDatei, 9) 'hier abzählen vonlinks Pfad:
'Bei mir C:\test\ das sind 8 plus 1 = 9
End If
Application.Wait (Now + TimeValue("0:00:1"))
For i = 1 To 2
ThisWorkbook.Sheets(1).Activate
Sheets.Add
Workbooks(datei).Activate
ActiveWorkbook.Sheets(wert).Activate
Cells.Select
Selection.Copy
ThisWorkbook.Sheets(i).Activate
Cells.Select
ActiveSheet.Paste
Sheets(wert).Name = datei & i
Next
Workbooks(datei).Close SaveChanges:=False
Application.DisplayAlerts = False
End Sub

Bild

Betrifft: Danke Willie! (muss noch Testen) volker
von: junny
Geschrieben am: 16.10.2003 08:23:20
o.T.
Bild

Betrifft: Willie! schau noch mal
von: junny
Geschrieben am: 16.10.2003 08:32:27
Hai,
vielleicht eine dumme Frage aber:
wo muss ich meinen Pfad reinschreiben

C:\Dokumente und Einstellungen\vw\Eigene Dateien\Test\Zeitenliste (mit Leerzeichen 64)+1

Grüsse volker
Bild

Betrifft: Testen und nochmal melden
von: Willie
Geschrieben am: 16.10.2003 11:21:53
Hallo Volker hier die Lösung ...Gruß Willie

Sub junny()
wert = 1
Dim datei As String
ChDir "C:\Dokumente und Einstellungen\vw\Eigene Dateien\Test\Zeitenliste"
ZuÖffnendeDatei = Application.GetOpenFilename("Textdateien (*.xls), *.xls")
If ZuÖffnendeDatei <> False Then
Workbooks.Open FileName:=ZuÖffnendeDatei
datei = Mid(ZuÖffnendeDatei, 64) 'hier abzählen vonlinks Pfad:
'Bei mir C:\test\ das sind 8 plus 1 = 9
End If
Application.Wait (Now + TimeValue("0:00:1"))
For i = 1 To 2
ThisWorkbook.Sheets(1).Activate
Sheets.Add
Workbooks(datei).Activate
ActiveWorkbook.Sheets(wert).Activate
Cells.Select
Selection.Copy
ThisWorkbook.Sheets(i).Activate
Cells.Select
ActiveSheet.Paste
Sheets(wert).Name = datei & i
Next
Workbooks(datei).Close SaveChanges:=False
Application.DisplayAlerts = False
End Sub

Bild

Betrifft: AW: Testen und nochmal melden
von: junny
Geschrieben am: 16.10.2003 12:48:37
Hai Willie,
Datei passt, aber wenn ich dann eine auswähle, kommt Fehler (Nr.9) Ziel liegt außerhalb des gültigen Bereichs, (hab mal die Hilfe gelesen, war für mich jedoch nicht besonders hilfreich)

weißt Du noch weiter?

Gruss volker
Bild

Betrifft: AW: Testen und nochmal melden
von: Willie
Geschrieben am: 16.10.2003 12:51:38
Ja da ist dein Netzwerk zu langsam die Datei ist noch nicht geöffnet ...
Mußt die Zeit bei wait auf 5 oder 6 Sekunden hochsetzen! oder Dann manuell weiterlaufen lassen!
Gruß
Willie
Bild

Betrifft: AW: Testen und nochmal melden
von: junny
Geschrieben am: 16.10.2003 13:26:37
Hai Willie,
ich hab mal die Zeit länger gemacht!

Das makro bleibt hier stehen (makro als Modul)
Workbooks(datei).Activate

auch bei 50 sec. , dabei ist im aufgerufenen Tabellenblatt nur ein Bereich von ~ 60 Zellen belegt.
Ziel liegt außerhalb des gültigen Bereichs (makro in der Arbeitsmappe)

Und nu? Mit ausgieben testen könnte ich evtl. den Range eingeben (damit nicht das GAnze Sheet kopiert werden muss)
Was moinsch??

junny
Bild

Betrifft: AW: Testen und nochmal melden
von: willie
Geschrieben am: 16.10.2003 13:31:10
Hast du schon mal geschaut, ob der Dateiname Vollständig ist bei datei?
Denn durch das Abschneiden, wenn du nicht richtig gezählt hast kann sein das
das Müll drin steht
Willie
Bild

Betrifft: AW: Testen und nochmal melden
von: junny
Geschrieben am: 16.10.2003 14:57:56
Hai Willie,
habe jetzt eine Ergebnis!!
Habe nun noch DisplayAlerts eingefügt.

Allerdings koiert es mir Sheet 1 (der ausgewählten Liste) 2mal rein sowie 2 leere Tabellen

Die Sheets sind dann folgendermaßen drin:
Sheet1 leer, Sheet2 O.K., Sheet3 wie 1, Sheet4 wie 2, Sheet5 in diesem steht das makro

Der Code

Sub junny()
wert = 1
Dim datei As String
Application.DisplayAlerts = False
ChDir "C:\Dokumente und Einstellungen\vw\Eigene Dateien\Test\Zeitenliste"
ZuÖffnendeDatei = Application.GetOpenFilename("Textdateien (*.xls), *.xls")
If ZuÖffnendeDatei <> False Then
Workbooks.Open Filename:=ZuÖffnendeDatei
datei = Mid(ZuÖffnendeDatei, 67) 'hier abzählen vonlinks Pfad:
'Bei mir C:\test\ das sind 8 plus 1 = 9
End If
Application.Wait (Now + TimeValue("0:00:01"))
For i = 1 To 2
ThisWorkbook.Sheets(1).Activate
Sheets.Add
Workbooks(datei).Activate
ActiveWorkbook.Sheets(wert).Activate
Cells.Select
Selection.Copy
ThisWorkbook.Sheets(i).Activate
Cells.Select
ActiveSheet.Paste
Sheets(wert).Name = datei & i
Next
Workbooks(datei).Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub


Hoffe Du hast noch Lust und LAune, Gruss volker
Bild

Betrifft: AW: Testen und nochmal melden
von: Willie
Geschrieben am: 16.10.2003 16:24:06
Hallo Volker ich weis ja nicht ob du auch die F8 Taste kennst?
Einzelschritt Zeile für Zeile durchklicken, schauen was machen die
Variablen! Bei mir hat es einwandfrei funktioniert! Es wurden alle
Tabellen eingefügt! mit dem Dateinamen plus 1 bzw 2. mehr kann ich
eigentlich nicht sagen oder helfen!
Sorry
Willie
Bild

Betrifft: Willie, Danke
von: junny
Geschrieben am: 17.10.2003 08:18:31
Hai, Willie, das mit der F8 wußte ich nicht,
ich teste und probier nun erts mal kräftig rum.
Mir hast Du nun schon einen ganzen Batzen weitergeholfen.

Gruss volker
(soll Dir im Kindersegen wieder reinkommen)
Bild

Betrifft: AW: Willie, Danke
von: Willie
Geschrieben am: 17.10.2003 14:03:34
Habe die Familienplanung schon abgeschlossen!
totzdem Danke!
Gruß
Willie
 Bild
Excel-Beispiele zum Thema " Daten einlesen über Pull-down"
Tabellenblattnamen in ein Listenfeld einlesen Gefilterte Daten in eine ListBox einlesen
Einlesen von Zellinhalten in Variablen 1000 Arbeitsblätter aus 1000 Arbeitsmappen einlesen
Tabellenblattnamen in eine ListBox einlesen Text aus UserForm-Textbox in Variable einlesen
Blätter in ComboBox-Feld einlesen und auswählen Dateinamen in Tabelle einlesen
Namen einer Arbeitsmappe einlesen