Zelle über if funktion ersetzen
#11
Nein die werden im selben Ordner gespeichert. Ich wollte nur meinen Nachnamen verstecken... hat wohl nicht so geklappt... :16:
Top
#12
Hallo Uwe,

ich habe die Ursache des Fehlers wohl entdeckt. Wenn ich den Code laufen lasse dann verändern sich meine Daten im Workbook Umbenennungstool. Spalte A wird nach und nach mit der Nachbarzelle in Spalte B ersetzt. Gesucht wird im ActiveWorkbook nichts. Ich denke with wks.pageSetup beziehen sich die restlichen Funktionen auf den falschen Workbook. Wie kann ich für diesen Befehl den Bezug zum jetzt geöffneten Workbook sicherstellen? 

Grus
Ilyas
Top
#13
Hallo Ilyas,

teste es mal so:
Sub Dateien_nacheinander_oeffnen()
Dim i As Long
Dim cDir As String
Dim lngcalc As Long
Dim sPath As String
Dim strAP As String
Dim varLookup As Variant
Dim wks As Worksheet

With Application
lngcalc = .Calculation
strAP = .ActivePrinter
.Dialogs(xlDialogPrinterSetup).Show
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With

varLookup = Workbooks("Mappe2").Worksheets("Tabelle1").Cells(1).CurrentRegion.Value

sPath = "C:\Users\ilyas\Desktop\Test\"
cDir = Dir(sPath & "*.xls*")
Do While cDir <> ""
With Workbooks.Open(sPath & cDir)
'aenderungen im Worksheet vornehmen
For Each wks In .Worksheets
For i = 2 To UBound(varLookup)
wks.Cells.Replace What:=varLookup(i, 1), Replacement:=varLookup(i, 2), _
LookAt:=xlPart, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
With wks.PageSetup
.LeftHeader = Replace(.LeftHeader, varLookup(i, 1), varLookup(i, 2))
.CenterHeader = Replace(.CenterHeader, varLookup(i, 1), varLookup(i, 2))
.RightHeader = Replace(.RightHeader, varLookup(i, 1), varLookup(i, 2))
.LeftFooter = Replace(.LeftFooter, varLookup(i, 1), varLookup(i, 2))
.CenterFooter = Replace(.CenterFooter, varLookup(i, 1), varLookup(i, 2))
.RightFooter = Replace(.RightFooter, varLookup(i, 1), varLookup(i, 2))
End With
Next i
Next wks
.Close True
End With
'naechste Datei lesen
cDir = Dir
Loop

With Application
.ActivePrinter = strAP
.Calculation = lngcalc
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Noob55
Top
#14
Hallo Uwe,

ich verstehe das nicht. Ich bin immer noch dabei nur ein Dokument zu verändern.
Warum lässt sich cells.Replace - also alle Zellen eines Worksheets in sekundenbruchteilen verändern während es bei den Kopf und Fußzeilen, welche im Grunde ja nur 6Zellen sind so viel länger. Ich bin mittlerweile bei 20 Minuten und mein Makro ist noch immer nicht beendet. Ich habe daran gedacht ob es sich in der Schleife verfängt aber dann würde es schon bei der Zellenüberschreibung passieren. Ich bin hier mittlerweile echt am verzweifeln.
Top
#15
Hallo Ilyas,

welchen Drucker hast Du denn ausgewählt in der Dialogbox?

Gruß Uwe
Top
#16
auch den Microsoft XPS Document Writer.
Ich habe mich nun damit abgefunden und lass die Suche so lange laufen...
Die Aufgabe hat sich gerade nochmal um einiges verkompliziert, aber dafür erstelle ich ein neues Thema. Ich danke dir für all deine Hilfe:) Ohne dich hätt ichs nicht geschafft
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste