ein VBA-Vorschlag
08.04.2010 11:56:59
Erich
Hi Ralf,
hier ein (ungetestetes) Makro.
Das Verzeichnis musst du anpassen (sicher erst mal ein Test-Verzeichnis).
Wenn eine Mappe kein Telefonverzeichnis enthält, wird sie nicht geändert,
es kommt eine Meldung:
Sub BlattTausch() ' UNGETESTET
' Ersetzt in allens xls-Mappen eines Verzeichnisses das Blatt "Telefonverzeichnis"
' durch das Blatt aus der Mappe, in der dieser Code steht
Dim strD As String, wks As Worksheet, lngI As Long
Const strVz As String = "c:\temp\" ' In diesem Verz. liegen die ca. 400 Mappen.
strD = Dir(strVz & "*.xls") ' Alle ca. 400 *xls-Dateien werden bearbeitet.
' Hier könnte man ein Suchmuster einstellen.
While strD > ""
Workbooks.Open strD, 0, True
With ActiveWorkbook
lngI = 0
For Each wks In .Worksheets
If wks.Name = "Telefonverzeichnis" Then
Application.DisplayAlerts = False
lngI = .Index
wks.Delete
Application.DisplayAlerts = True
If lngI = 1 Then
ThisWorkbook.Worksheets("Telefonverzeichnis").Copy before:=.Sheets(1)
Else
ThisWorkbook.Worksheets("Telefonverzeichnis").Copy after:=.Sheets(lngI)
End If
Exit For
End If
Next wks
If lngI = 0 Then MsgBox .Name & vbLf & "ist ohne Blatt 'Telefonverzeichnis'"
End With
strD = Dir()
Wend
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort