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

Aktualisieren mehrerer Datein über VBA-Code

Aktualisieren mehrerer Datein über VBA-Code
19.08.2003 14:32:50
Torsten K.
Hallo zusammen,
in einem Ordner habe ich ca. 20 Dateien, die alle mit "108_"; "110_" oder "112" beginnen. Alle Dateien haben den gleichen Aufbau (Arbeitsblätter und deren Bezeichnungen). Nun gibt es in jeder Datei 3 Arbeitsblätter, deren Daten ich jeden Monat vor dem Hereinkopieren aktueller Daten löschen möchte (Range: A1:B250). Bisher habe ich mir mit einem aufgzeichneten Makro ein wenig helfen können, muss ab er auch heute noch jede Datei manuell öffnen, Inhalt der 3 Arbeitsblätter löschen, speichern und schließen. Das nervt ungemein!!
Meine Ideen gehen dahin:
Entweder eine Excel-Datei (z.B. "Start.xls") zu erstellen, die Pfade und Namen der zu aktualisierenden Dateien einzutragen und ein VBA-Code zu erstellen, mit dessen Hilfe diese kleine Liste abgearbeitet und der Range der entsprechenden Arbeistblätter gelöscht werden kann. Selbst meine mehr als bescheidenen Programmierkenntnisse zeigen mir, daß hier eine Schleife notwendig ist. Als VBA-Einsteiger bin allerdings noch nicht so weit, dies mir selbst zu erarbeiten.
Ein anderer Gedanke ist, mein Problem mit Hilfe des FSO zu lösen. Dafür bräuchte ich aber sicher mehr Details und Hilfe beim Einbinden eines entsprechenden VBA-Codes als bei oben beschriebenen Lösung.
Ich wäre jedem sehr dankbar, der mir hier auf die Sprünge helfen könnte.
Gruß
Torsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktualisieren mehrerer Datein über VBA-Code
19.08.2003 23:06:00
Klaus Schubert
Hallo Thorsten,
hiermit müsste es gelingen:

Sub DatenLöschen()
Dim nameDatei As String, ws(1 To 3) As String
Dim i1 As Integer, i2 As Integer
Const Pfad As String = "C:\Test\" 'Anpassen !
ws(1) = "Tabelle1": ws(2) = "Tabelle2": ws(3) = "Tabelle3" 'Anpassen !
Application.ScreenUpdating = False
If MsgBox("Löschen beginnen ?" & vbCr & "(Dieser Vorgang dauert eine Weile !)", _
vbQuestion + vbOKCancel, "Löschen") <> vbOK Then Exit Sub
For i1 = 108 To 112 Step 2
nameDatei = Dir(Pfad & i1 & "*.xls")
Do While nameDatei <> ""
Workbooks.Open nameDatei
For i2 = 1 To 3
Sheets(ws(i2)).Range("A1:B250").ClearContents
Range("A1").Activate
Next i2
ActiveWorkbook.Close savechanges:=True
nameDatei = Dir()
Loop
Next i1
MsgBox "Ich habe fertig !", vbOKOnly, "Fertig !"
Application.ScreenUpdating = True
End Sub

WICHTIG!:
Bei Const Pfad As String = "C:\Test\"
musst du für "C:\Test\" natürlich den Pfad zu deinem Ordner eingeben, damit nicht die falschen Dateien bearbeitet werden !!!
Bei ws(1) = "Tabelle1": ws(2) = "Tabelle2": ws(3) = "Tabelle3"
musst du für "Tabelle1", "Tabelle2" und "Tabelle3" die Namen deiner Blätter angeben, in denen die entsprechenden Zellen gelöscht werden sollen !
Es werden nur Mappen bearbeitet, die mit "108_" , "110_" oder "112_" anfangen und mit ".xls" enden !!!
Falls du jetzt mit dem Code so nichts anfangen kannst, mache folgendes:
Öffne eine neue Arbeitsmappe, drücke dann gleichzeitig die Tastenkombination Alt+F11. Es öffnet sich das VBA-Fenster. Jetzt klickst du mit der rechten Maustaste oben links in das Projektfenster, dann auf Einfügen / Modul.
Im rechten Fenster kopierst du nun diesen Code. Mache jetzt die Änderungen bezüglich Pfad und Tabellennamen (s.o.). Das VBA-Fenster schließen und die Arbeitsmappe unter einen beliebigen Namen speichern.
Jetzt kannst du diesen Code als Makro mit dem Namen DatenLöschen wie jedes andere Makro aufrufen oder einem Button zuordnen.
Am besten alles erst einmal an Kopien ausprobieren.
Ich hoffe , das war jetzt nicht zu genau.
Gruß Klaus

Anzeige
Herzlichen Dank für Deine Hilfe - Gruß TK (oT)
20.08.2003 08:22:53
Torsten K.
oT

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige