Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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:
Antworten 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
Antworten 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
Antworten 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.
Antworten Top
#15
Hallo Ilyas,

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

Gruß Uwe
Antworten 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
Antworten Top


Gehe zu:


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