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

Beiträge aus den Excel-Beispielen zum Thema " Daten einlesen über Pull-down"