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

Batch-Änderung an mehreren Excel-Dokumenten

Batch-Änderung an mehreren Excel-Dokumenten
28.10.2013 14:54:09
Matthias
Hallo zusammen
Ich habe in einem Ordner C:\User1\Dokumente etwa 10'000 Excel Dokumente mit einem x-beliebigen Namen. Alle diese Dokumente sind vom Inhalt her gleich aufgebaut und haben in der Zelle B5 einen Wert den ich überall ändern müsste. z.B. Inhaltswert vorher 29, neu 15.
Gibt es die Möglichkeit, mit VBA so ein Batch-Script zu schreiben und alle Excel-Files automatisch anzupassen?
Ich danke euch vielmals für eure Hilfe!
Lieber Gruss Matthias

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Batch-Änderung an mehreren Excel-Dokumenten
28.10.2013 16:14:06
Arthur
Hallo Matthias.
Hier ist ein Code-Snippet:
Option Explicit
Sub auswertung()
Dim ltFilename As String
Dim loWB As Workbook
'Pfad, in dem die Dateien liegen
ltFilename = Dir""
If (ltFilename = "") Then MsgBox "Keine Dateien gefunden": Exit Sub
On Error Resume Next
Do While (ltFilename  "")
Set loWB = Workbooks.Open(Filename:=ctPath & ltFilename, ReadOnly:=True,  _
IgnoreReadOnlyRecommended:=True)
' hier die Daten übertragen .....
loWB.Saved = True
loWB.Close
ltFilename = Dir() 'nächste Datei suchen
Loop
Set loWB = Nothing
End Sub
Gruß, Arthur

Anzeige
AW: Batch-Änderung an mehreren Excel-Dokumenten
28.10.2013 16:33:29
Tino
Hallo,
kannst mal diesen Code versuchen (aber erst Testen)
Erstelle eine Neue Exceldatei und stell den Code in ein Modul.
Sub Start()
Dim ArFile(), n&, Anzahl&, sDir$
Dim sPath$
Dim newApp As Application
'Zu ändernde Daten
Const strTabelle As String = "Tabelle1"
Const strZelle As String = "B5"
Const NewWert As Variant = 15
'Pfad anpassen
sPath = "C:\User1\Dokumente\"
sPath = IIf(Right$(sPath, 1) = "\", sPath, sPath & "\")
sDir = Dir(sPath & "*.xls*", vbNormal)
Do While sDir  ""
n = n + 1
ReDim Preserve ArFile(1 To 3, 1 To n)
ArFile(1, n) = sPath & sDir
ArFile(2, n) = sDir
sDir = Dir()
Loop
If n > 0 Then
Anzahl = UBound(ArFile, 2)
Set newApp = New Application
With newApp
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
For n = LBound(ArFile, 2) To UBound(ArFile, 2)
Application.StatusBar = "Ändere Datei " & n & " von " & Anzahl
With .Workbooks.Open(ArFile(1, n))
If Not .ReadOnly Then
.Sheets(strTabelle).Range(strZelle).Value = NewWert
ArFile(3, n) = "ok"
Else
ArFile(3, n) = "Schreibgeschützt"
End If
.Close Not .ReadOnly
End With
Next n
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
.Quit
End With
End If
Application.StatusBar = False
'Ausgabe Info
With Tabelle1
.UsedRange.Clear
.Cells(1, 1) = "Datei"
.Cells(1, 2) = "Info"
.UsedRange.Rows(1).Font.Bold = True
If n > 0 Then
ArFile = Application.Transpose(ArFile)
With .Range("A2").Resize(UBound(ArFile), 2)
.Columns(1).Value = Application.Index(ArFile, , 2)
.Columns(2).Value = Application.Index(ArFile, , 3)
End With
Else
MsgBox "Es wurden keine Datei gefunden!", vbExclamation
End If
.UsedRange.EntireColumn.AutoFit
End With
End Sub

Gruß Tino

Anzeige
AW: Batch-Änderung an mehreren Excel-Dokumenten
28.10.2013 16:54:43
CitizenX
Hi,
speicher die folgende Textdatei als hta(derdateiname.hta)
öffnen-Werte einfügen-run
https://www.herber.de/bbs/user/87848.txt
grüße
Steffen

an CitizenX
28.10.2013 21:39:20
Matthias
Danke vielmal für all eure Vorschläge!
Steffen, darf ich noch kurz was dazu fragen? Wie müsste ich das Script anpassen für folgende Aussage?
Zelleninhalt 18 oder 19 oder 20 oder 25 wird mit 30 überschrieben
Herzlichen Dank für deine Unterstützung.
Matthias

meld mich morgen... owt grüsse
28.10.2013 22:09:09
CitizenX

AW: meld mich morgen... owt grüsse
28.10.2013 22:19:51
Matthias
:) Nur kein Stress & Danke Steffen ... was auch noch interessant wäre: Wie kann ich die Files gruppieren? Beispiel: Ich möchte nur diese bearbeiten, die im Windwos Explorer mit "Date modified" vor dem 25.10.2013 sind.

Anzeige
AW: nun komplett
29.10.2013 11:49:58
Matthias
Ganz ganz genial. Herzlichen Dank Steffen!!!! Dieses Grundgerüst werde ich noch ein paar Mal gut gebrauchen können.

Danke fürs Feedback-gern geschehen owt
29.10.2013 12:23:39
CitizenX

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige