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

Problem beim Starten Makros

Problem beim Starten Makros
Holger
Folgenden Code zum auflisten von Verzeichnissen habe ich mir mal zusammengesucht und passe ihn an wie er gebraucht wird. Seit heute ist es so dass ich den Code im VB-Editor ausführen kann aber wenn ich den Code einer Schaltfläche zuordne kommt entweder eine Fehlermeldung oder es passiert gar nichts. Die Fehlermeldung ist ein Laufzeitfehler und bezieht sich auf die Zeile:
Set mainfolder = fso.GetFolder(Sheet.Cells(Pfadzeile, Pfadspalte))
Die Schleife i habe ich heute das erste Mal, vielleicht liegt es daran. Ich wüsste aber auch nicht wie es anders zu machen wäre. Beinahe vergessen, mit Application.Run reagiert das Makro auch nicht.
Bitte schaut euch doch mal den Code an. Vielleicht ist er auch schon zu oft angepasst und umgestellt.
MfG
Holger
Sub namen3()
Dim fso, mainfolder, flist, ordner, Zeile, Sheet, Spalte, Pfadspalte, Pfadzeile
For i = 1 To 10             'Wie oft soll das Makro laufen
'--------------------Wo soll das ganze hin-----------------------
Set Sheet = Tabelle2       ' Auf welchem Tabellenblatt alles stattfinden soll
Zeile = 3                  ' Die Zeile ab der nach unten gelistet wird
Spalte = Cells(157, 1)     ' Die Spalte in der gelistet wird
'--------------------Von welcher Zelle soll gelesen werden-----------
Pfadspalte = Cells(157, 1) ' Die Spalte in dem der Ausgangspfad steht, zB. 3 für Spalte C
Pfadzeile = 1              ' Die Zeile in dem der Ausgangspfad steht, zB. 1 für Zeile 1
' On Error GoTo Fehler
Set fso = CreateObject("Scripting.FileSystemObject")
Set mainfolder = fso.GetFolder(Sheet.Cells(Pfadzeile, Pfadspalte))
Set flist = mainfolder.SubFolders
For Each ordner In flist
Sheet.Cells(Zeile, Spalte) = ordner.Name
Zeile = Zeile + 1
Next
Next i
Exit Sub
' Fehler:  Exit Sub
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Problem beim Starten Makros
26.02.2011 21:13:42
Gerold
Hallo Holger
Ersetze mal Sheet durch ein anderes Wort
(Sheet , Sheets sind nicht erlaubt als Name)
Application.Run ("Makroname")
Mfg Gerold
Rückmeldung wäre nett.
AW: Problem beim Starten Makros
26.02.2011 21:35:09
Gerd

Sub Test()
Msgbox Cells(157, 1).Value
End Sub
Hallo Holger,
lasse dieses Makro - ins selbe Modul eingefügt - mal laufen.
Gruß Gerd
Gerd L - ich glaube Du hast es...
26.02.2011 22:28:51
Holger
@ Gerd L,
damit bringst Du mich auf die richtige Spur. Im Editor eingefügt zeigt es 103 und das muss es auch. Dann eine Schaltfläche drauf gelegt in Tabelle2 und es zeit ebenfalls 103. Die Schaltflächen sind aber alle in Tabelle1 und da zeigt die MsgBox dann – also gar nichts.
MfG
Holger
Anzeige
...Deshalb schreibt MS in seinen VBE-Bspp...
26.02.2011 21:48:40
Luc:-?
…auch immer my davor…
Gruß+schöWE, Luc :-?
AW: Problem beim Starten Makros
26.02.2011 22:14:24
Holger
Hallo Gerold,
habe jetzt Sheet durch Blatt ersetzt und in der Zwischenzeit den Laufzeitfehler gefunden. Ich kann aber weiterhin das Makro nur im Editor starten, über eine Schaltfläche reagiert es nicht.
Mit Application.Run aus einem anderen Makro klappt es auch nicht.
Natürlich habe ich Deine Schreibwiese probiert, Application.Run ("namen3")
Meine Schreibweise war Application.Run "'Ordner.Schreiben.xls'!namen3"
So sieht das Makro jetzt aus:
Sub namen3()
Dim fso, mainfolder, flist, ordner, Zeile, Blatt, Spalte, Pfadspalte, Pfadzeile
For i = 1 To 10         'Wie oft soll das Makro laufen
'--------------------Wo soll das ganze hin----------
Set Blatt = Tabelle2   ' Auf welchem Tabellenblatt alles stattfinden soll
Zeile = 3              ' Die Zeile ab der nach unten gelistet wird
Spalte = Cells(157, 1) ' Die Spalte in der gelistet wird
'--------------------Von welcher Zelle soll gelesen werden----------
Pfadspalte = Cells(157, 1) ' Die Spalte in dem der Ausgangspfad steht, zB. 3 für Spalte C
Pfadzeile = 1              ' Die Zeile in dem der Ausgangspfad steht, zB. 1 für Zeile 1
'On Error Resume Next
On Error GoTo Fehler
Set fso = CreateObject("Scripting.FileSystemObject")
Set mainfolder = fso.GetFolder(Sheet.Blatt(Pfadzeile, Pfadspalte))
Set flist = mainfolder.SubFolders
For Each ordner In flist
Sheet.Blatt(Zeile, Spalte) = ordner.Name
Zeile = Zeile + 1
Next
Next i
Exit Sub
Fehler:  Exit Sub
End Sub
Es soll 10 mal laufen und abbrechen wenn z.B. weniger als 10 Verzeichnisse gefunden werden.
Mein VBA ist eigentlich nur ein suchen bei Google und dann neues Zusammenmischen. Das Makro startet in einer bestimmten Spalte, festgelegt in Cells(157, 1), Diese Zelle zählt jedesmal um 1 hoch und gibt die neue Spalte für das Listing.
Wenn ich die Startspalte direkt angeben würde (In meinem Makro z.B. mit Spalte = 6 und dann mit i+1 weitermachen könnte wäre die ganze Prozedur im VBA. - So eine Schleife bekomme ich aber nicht hin weil ich die Beispiele aus Herbers CD immer nur 1:1 übernommen habe und heute bin ich zu alt.
MfG und Hoffnung auf Unterstützung
Holger
Anzeige
AW: Problem beim Starten Makros
26.02.2011 22:47:07
Gerd
Hallo Holger,
ganz ruhig bleiben!
Pfadspalte = Cells(157, 1)
Schreibe vor Cells(157, 1) den Blattregisternamen oder den Codenamen der Tabelle, in der der Kram in dieser Zelle drinsteht.
Gruß Gerd
AW: Problem beim Starten Makros
26.02.2011 22:46:47
Holger
Ich bedanke mich, Problem ist gelöst. VBA und ich waren auf verschiedenen Tabellenblättern.
MfG
Holger

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige