Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisieren

Automatisieren
16.01.2008 07:47:00
earl-e-bird
Hallo Excel-Experten,
ich hoffe, ihr koennt mir bei folgendem Problemchen helfen, da ich nicht mehr weiss, wonach ich noch suchen soll um meine Loesung angehen zu koennen.
Ich habe folgendes vor. Ich wuerde gerne eine Automatisierung vornehmen, indem ich aus einem Ordner (bestehend aus vielen Excel-Sheets) jedes einzelne oeffnen, Veraenderungen vornehmen und schliessen lasse, OHNE vorher eine Liste der Excel-Sheet-Namen anfertigen zu muessen.(Nach dem Motto: oeffne alle Sheets in diesem Ordner und veraendere sie) Ich schaetze, dass wird nur mit VBA gehen, doch finde leider nicht die richtigen Programmcode dazu.
Vielleicht koenntet ihr mir dabei behilflich sein? Im Voraus schon ein grosses Dankeschoen an alle Schreiber.
Gruesse,
Marcus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisieren
16.01.2008 08:49:56
Hajo_Zi
Hallo Marcus,
benutze das Archiv und suche nach Application.FileSearch

AW: Automatisieren
16.01.2008 09:11:00
earl-e-bird
Hab's gefunden! Viele, vielen Dank fuer den Hinweis.
Gruss,
Marcus

AW: Automatisieren
16.01.2008 09:05:19
Heiko
Hallo Marcus,
z.B. so:
Und ganz wichtig, wenn du jetzt noch irgendwelche neuen Makros schreibst, nutze nicht mehr die Funktion FileSearch. Filesearch ist zwar schön einfach, wird aber ab EXCEL 2007 NICHT mehr unterstützt. Würde bedeuten das du alle Dateien wo ein Filesearch drin ist irgendwann überarbeiten mußt. Also nur noch die gute alte DIR Funktion oder eben das Scripting.FileSystemObject nutzen wie in meinem Beispiel. Spart dir später sehr viel Arbeit !!!

Public Sub pcdChangeFiles()
Dim myFileSystemObject, myFiles
Dim strPath As String
' Pfad natürlich anpassen !!!
strPath = "H:\EXCEL\Muell\Neuer Ordner\Neuer Ordner\TestEbene3\TestEbene4"
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each myFiles In myFileSystemObject.GetFolder(strPath).Files
Application.StatusBar = "Datei " & myFiles & " Wird bearbeitet !"
Workbooks.Open myFiles
ActiveWorkbook.ActiveSheet.Range("A1") = "Bla Bla Bla"
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.StatusBar = False
Next myFiles
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.StatusBar = False
MsgBox "Fertig !", vbInformation
End Sub


Gruß Heiko
PS: Rückmeldung wäre nett !

Anzeige
AW: Automatisieren
16.01.2008 09:23:21
earl-e-bird
Wow, wer haette das gedacht, dass es diese Fkt in Excel 2007 nicht mehr gibt. Nachdem ich (hoffentlich) diese kleine Autiomatisierung nur einmal durchfuehren muss (um mir viel Zeit zu sparen) werde ich noch mit Application.FileSearch arbeiten (aber nur dieses Mal). Dazu kommt, dass das Applicaton.FileSearch fuer mich einfacher zu verstehen ist. Da ich eben kein Pro bin faellt es mir etwas schwerer, deine Code zu verstehen, so ohne Kommentierung (tut mir wirklich leid). Werde mir aber definitiv deinen Code aufheben, sodass ich ihn spaeter (das wird 100%ig der Fall sein) gleich parat habe.
Vielen Dank fuer deine Hilfe.
Gruesse,
Marcus

Anzeige
Korrektur !!!
16.01.2008 09:26:59
Heiko
Hallo Marcus,
dann hebt dir das mal auf, aber bitte den neuen Code hier mit zwei kleinen aber feinen Änderungen !!!

Public Sub pcdChangeFiles()
Dim myFileSystemObject, myFiles
Dim strPath As String
' Pfad natürlich anpassen !!!
strPath = "H:\EXCEL\Muell\Neuer Ordner\Neuer Ordner\TestEbene3\TestEbene4"
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each myFiles In myFileSystemObject.GetFolder(strPath).Files
Application.StatusBar = "Datei " & myFiles & " Wird bearbeitet !"
Workbooks.Open myFiles
ActiveWorkbook.ActiveSheet.Range("A1") = "Bla Bla Bla"
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.StatusBar = False
Next myFiles
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.StatusBar = False
MsgBox "Fertig !", vbInformation
End Sub


Gruß Heiko
PS: Rückmeldung wäre nett !

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige