Herbers Excel-Forum - das Archiv
Daten einlesen über Pull-down

|
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
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
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
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
Betrifft: Danke Willie! (muss noch Testen) volker
von: junny
Geschrieben am: 16.10.2003 08:23:20
o.T.
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
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
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
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
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
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
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
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
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)
Betrifft: AW: Willie, Danke
von: Willie
Geschrieben am: 17.10.2003 14:03:34
Habe die Familienplanung schon abgeschlossen!
totzdem Danke!
Gruß
Willie