Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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

Warum funktioniert meine Schleife nicht?

Warum funktioniert meine Schleife nicht?
06.08.2018 08:57:42
Alex1860
Hallo zusammen,
Ich habe letztens versucht, per VBA Werte aus verschiedenen, gleich aufgebauten aber unterschiedlich benannten, Arbeitsmappen die sich alle im selben Ordner befinden, in ein neues Excel-File zu kopieren.
Leider passiert beim ausführen des Makros rein Garnichts.
Für Hilfe wäre ich sehr Dankbar!
Ich bin blutiger Anfänger was VBA betrifft also bitte so einfach wie möglich und nur so kompliziert wie nötig.
Hab auch schon in diversen anderen Foren nach Lösungen gesucht nur passiert, egal welches Makro ich anwende, absolut nichts :(
Wahrscheinlich steh ich einfach auf dem Schlauch.
Hier mein Code:
Sub Auslesen()


		

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 08:59:29
Alex1860

Sub Auslesen()
Dim path As String
Dim filecount As Integer
Dim Workbook As Workbook
Dim zielspalte As String
Dim mainwb As Workbook
Dim file As Variant
Set mainwb = ActiveWorkbook
path = "C:\Users\user\Documents\Programming\Alex\data\"
quellzelle = "A1"
zielspalte = "A"
filecount = 1
file = Dir(path & "*.xlsx")
Do While Len(file) > 0
Set Workbook = Application.Workbook.Open(path & file)
mainwb.Sheets(1).Range(zielspalte & filecount).Value = Workbook.Sheets(1).Range( _
quellzelle).Value
filecount = filecount + 1
Workbook.Close
file = Dir
Loop
End Sub

Anzeige
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 09:22:07
Robert
Hallo Alex,
nimm Workbooks statt Workbook:
Set Workbook = Application.Workbooks.Open(path & file)
Gruß
Robert
PS:
Wenn Du die Variablen vorher deklarierst (was man meiner Meinung nach auch tun sollte), dann aber bitte alle.
Füge also noch ein Dim quellzelle As String ein.
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 09:41:43
Alex1860
Hallo Robert & Daniel,
Danke für die schnelle Antwort!
Also müsste es so Funktionieren:
Sub Auslesen()
Dim path As String
Dim filecount As Integer
Dim quelle As Workbook
Dim quellzelle As String
Dim zielspalte As String
Dim mainwb As Workbook
Dim file As Variant
Set mainwb = ActiveWorkbook
path = "C:\Users\user\Documents\Programming\Alex\data\"
quellzelle = "A1"
zielspalte = "A"
filecount = 1
file = Dir(path & "*.xlsx")
Do While Len(file) > 0
Set quelle = Application.Workbooks.Open(path & file)
mainwb.Sheets(1).Range(zielspalte & filecount).Value = quelle.Sheets(1).Range( _
quellzelle).Value
filecount = filecount + 1
quelle.Close
file = Dir
Loop
End Sub

Leider passiert wieder nichts:(
Danke euch!!
Anzeige
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 09:55:18
Robert
Hallo Alex,
bei mir funktioniert es. Gibt es das Verzeichnis
C:\Users\user\Documents\Programming\Alex\data\
denn überhaupt?
Gruß
Robert
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 10:04:30
daniel
Hi
der Code ist meiner Ansicht nach korrekt.
wenn nichts passiert (keine Fehlermeldung), dann liegt der Verdacht nahe, dass du einen Schreibfehler in deinem Pfad hast oder dort keine .xlsx-Datei vorhanden ist.
teste auch mal im Einzelstep-Modus.
hierzu setzt du den Cursor in den Code und drückst F8.
bei jedem Druck auf F8 wird die gelb markierte Programmzeile ausgeführt.
hierbei siehst du z.B. wie in Schleifen oder Verzweigungen gesprungen wird und du kannst den Inhalt von Variablen testen, in dem du mit dem Cursor über die Variable fährst.
nach ausführen des File = Dir(...) sollte File einen Inhalt haben.
Gruß Daniel
Anzeige
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 09:22:38
daniel
Hi
naja, dass gar nichts passiert, kann ich mir nicht vorstellen. Bei mir kommt der Laufzeitfehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht" in der Zeile:
Set Workbook = Application.Workbook.Open(path & file)

der Befehl heißt: Application.Workbooks.Open(...)
du hast da das "s" vergessen.
außerdem solltest du die Variablenbenennungen so wählen, dass sie sich von den VBA-Schlüsselwörtern unterscheiden ("Workbook").
sowas kann funktionieren, es muss aber nicht funktionieren, wenn an einer Stelle nicht eindeutig ist, ob die Variable oder die VBA-Funktion gelten soll.
Gruß Daniel
Anzeige
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 10:00:54
Alex1860
Hallo Robert,
Mein Verzeichnis existiert.
Ich kann mir nicht erklären warum nichts passiert
LG
AW: Warum funktioniert meine Schleife nicht?
06.08.2018 10:03:39
Alex1860
Hallo Robert,
Mein Verzeichnis existiert.
Ich kann mir nicht erklären warum nichts passiert
LG

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige