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

eine Zelle in mehreren Dateien ändern

eine Zelle in mehreren Dateien ändern
28.02.2017 10:58:30
Luca
Hallo zusammen,
ich kann nirgendwo ein Beispiel dafür finden, wie man Zelle A1 und A2 aus mehreren gleich gebauten Excel-Dateien in einem Ordner ändern kann. Wenn es sehr viele Dateien sind, wird der Makrorekorder unhandlich. Das Einzige was ich als VBA finden konnte war eine Version mit der SearchFile Anweisungen die ja seit 2007 nicht mehr funktioniert (Unten dargesetllt). Wie sieht der Ersatz mit Dir() oder FSO() aus? Tut mir Leid wenn die Frage banal oder nicht so sinnvoll ist..
Danke für jede Hilfe!
Sub DateienVerarbeiten()
Dim i As Long
Dim Blatt As Worksheet
Const verz = "D:\Eigene Dateien\"
On Error GoTo fehler
ChDir verz
With Application.FileSearch
.NewSearch
.LookIn = verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(i)
For Each Tabelle In ActiveWorkbook.Worksheets
Tabelle.Range("A1").Value = "TEXTNEU"
Next Tabelle
ActiveWorkbook.Close savechanges:=True
Next i
End With
Exit Sub
fehler:
MsgBox "Es gibt kein Verzeichnis mit dem Namen " & verz
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: eine Zelle in mehreren Dateien ändern
02.03.2017 10:27:21
Luca
Keine Antwort = Frage zu doof? :D
Ich bin für jede Hilfe dankbar..
AW: eine Zelle in mehreren Dateien ändern
02.03.2017 10:33:39
Luca
Erschwerend kommt noch hinzu, dass die Excel-Dateien zwar gleich aufgebaut sind, es aber Variationen in den Namen der Tabellenblätter gibt. Das relevante Blatt ist immer die Tabelle2.
Die Dateien liegen alle in einem Ordner.
Ganz praktisch ist die Zielvorgabe, einen simplen Fehler, der sich bei allen ca. 150 Dateien in Zelle A1 und A2 eingeschlichen hat zu korrigieren ohne jede Datei anfassen zu müssen.
Prinzipiell kannst Du...
02.03.2017 11:17:09
Case
Hallo, :-)
... das so machen: ;-)
Option Explicit
' Suchmuster gegebenenfalls anpassen
Const strEX As String = "*.xls*"
Public Sub Main()
Dim strDir As String
Dim objFSO As Object
Dim objDir As Object
Dim lngCalc As Long
On Error GoTo Fin
With Application
.ScreenUpdating = False
.AskToUpdateLinks = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Datei im gleichen Ordner wie Auswertungsdateien
' strDir = ThisWorkbook.Path & "\"
' Fester Ordner vorgegeben
strDir = "C:\Temp\Test\"
strDir = IIf(Right(strDir, 1)  "\", strDir & "\", strDir)
Set objDir = objFSO.getfolder(strDir)
'dirInfo objDir, strEX, True ' Mit Unterordner
dirInfo objDir, strEX ' Ohne Unterordner
Fin:
With Application
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
Set objDir = Nothing
Set objFSO = Nothing
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & " " & Err.Description
End Sub
Public Sub dirInfo(ByVal objCurrentDir As Object, ByVal strName As String, _
Optional ByVal blnTMP As Boolean = False)
Dim wkbBook As Workbook
Dim varTMP As Variant
For Each varTMP In objCurrentDir.Files
If varTMP.Name Like strName Then
If varTMP.Name  ThisWorkbook.Name Then
If Left(varTMP.Name, 1)  "~" Then
Set wkbBook = Workbooks.Open(varTMP.Path)
' Zweites Tabellenblatt - Index 2
With wkbBook.Worksheets(1)
.Range("B1").Value = "Neu"
.Range("B2").Value = "AuchNeu"
.Parent.Close True
Set wkbBook = Nothing
End With
End If
End If
End If
Next varTMP
If blnTMP = True Then
For Each varTMP In objCurrentDir.SubFolders
dirInfo varTMP, strName, blnTMP
Next varTMP
End If
Set wkbBook = Nothing
End Sub
Im Moment wird im Pfad "C:\Temp\Test\" im zweiten Tabellenblatt in Zelle "B1" und "B2" geändert.
Servus
Case

Anzeige
AW: Prinzipiell kannst Du...
02.03.2017 12:02:29
Luca
Wow, danke. Es klappt einwandfrei. Ganz herzlichen Dank! LG ;)
Gerne! Danke für die Rückmeldung, owT
02.03.2017 12:48:11
Case
:-)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge