Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopfzeile ändern

Forumthread: Kopfzeile ändern

Kopfzeile ändern
19.01.2009 13:03:00
Fahringer
Hallo zusammen,
ich hätte da ein kleines Problem.
Durch Umbau ändert sich bei uns der Name einer Produktionslinie.
Von Linie 3 auf Linie 2. Für jedes Produkt haben wir sog. Fertigungsparameter, jeder dieser Fertigungsparameter ist ein einfaches excel-file mit einem Blatt. Das sind inzwischen gut 1000 Fertigungsparameter. Jeder Fertigungsparameter hat die selbe Kopfzeile:
Fertigungsparameter
SMT-Linie 3
Wie kann ich die elegant alle auf einmal in
Fertigungsparameter
SMT-Linie 2
ändern ?
lg
Fahringer Georg
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopfzeile ändern
19.01.2009 14:56:00
fcs
Hallo Georg,
kopiere alle Dateien, deren Kopfzeile im 1. Tabellenblatt geändert werden soll in ein leeres Verzeichnis (Sicherheitsmassnahme).
Mit dem folgenden Makro kannst du gezielt bestimmte Kopf- und Fusszeilen unter Seiteeinrichten für alle Dateien im Verzeichnis anpassen.
Gruß
Franz

Sub KopfzeilenAnpassen()
'Mittlere Kopfzeile in Dateien anpassen im 1. Tabellenblatt
Call TabellenBearbeiten(strVerzeichnis:="C:\Lokale Daten\Test\Daten", _
arrKopfFuss:=Array(2), arrKopfFussTexte:=Array("SMT-Linie 2"))
End Sub
Sub TabellenBearbeiten(strVerzeichnis As String, arrKopfFuss, arrKopfFussTexte)
' In allen Datein des Verzeichnisses in den Tabellenblättern die Kopf- und _
Fusszeilentext ändern.
Dim wb As Workbook, wks As Worksheet, iCount As Long
Dim Dateiname As Variant, intI As Integer, strFullname As String
'strVerzeichnis = Verzeichnis mit den Dateien
'arrKopfFuss     = Array mit Nrn für die Kopf-Fussteile, die angepasst werden sollen _
1 = Kopftext links _
2 = Kopftext mitte _
3 = Kopftext rechts _
4 = Fusstext links _
5 = Fusstext mitte _
6 = Fusstext rechts _
'arrKopfFussTexte  = Array mit den zugehörigen neuen texten
'Beispiel für Sub-Aufruf (Kopftext-Mitte und Fusstext-Links werden angepasst):
'Call TabellenBearbeiten(strVerzeichnis:="C:\Lokale Daten\Test\Daten", _
arrKopfFuss:=Array(2, 4), _
arrKopfFussTexte:=Array("SMT-Linie 2", "Vorname Nachname"))
Dateiname = Dir(strVerzeichnis & Application.PathSeparator & "*.xls")
Application.ScreenUpdating = False
Do Until Dateiname = ""
iCount = iCount + 1
Application.StatusBar = iCount & ". Datei wird bearbeitet: " & Dateiname
strFullname = strVerzeichnis & Application.PathSeparator & Dateiname
Application.Workbooks.Open Filename:=strFullname
Set wb = ActiveWorkbook
Set wks = wb.Worksheets(1)
With wks.PageSetup
For intI = LBound(arrKopfFuss) To UBound(arrKopfFuss)
Select Case arrKopfFuss(intI)
Case 1: .LeftHeader = arrKopfFussTexte(intI)
Case 2: .CenterHeader = arrKopfFussTexte(intI)
Case 3: .RightHeader = arrKopfFussTexte(intI)
Case 4: .LeftFooter = arrKopfFussTexte(intI)
Case 5: .CenterFooter = arrKopfFussTexte(intI)
Case 6: .RightFooter = arrKopfFussTexte(intI)
End Select
Next
End With
Application.DisplayAlerts = False
wb.Close savechanges:=True
Application.DisplayAlerts = True
Dateiname = Dir
Loop
Application.ScreenUpdating = True
Application.StatusBar = False
MsgBox "Fertig", vbOKOnly, "Kopf- und Fusszeilen anpassen"
End Sub


Anzeige
AW: Kopfzeile ändern
20.01.2009 09:20:59
Fahringer
Servus Franz,
danke für die schnelle Info. Funktioniert wunderbar, doch ich habe leider ein aber:
Ich habe nun in den Kopfzeilen nur mehr SMT-Linie 2 stehen, das Fertigungsparameter ist weg, und die Formatierung ist auch anders ( Schriftgrösse, Fett, Unterstrichen ).
Hier ein Beispiel: https://www.herber.de/bbs/user/58602.xls wie es ausschauen sollte.
Man müsste also eigentlich nur die 3 durch eine 2 ersetzen... kann man die Formatierung beibehalten ?
Sorry wenn ich zu Anfang zu wenig Infos mitgegeben habe.
Gruß
Georg
Anzeige
AW: Kopfzeile ändern
20.01.2009 11:11:42
fcs
Hallo Georg,
dann müssen die entsprechenden Steuerzeichen für Zeilenschaltung, Schriftgröße und Unterstreichung mit übergeben werden.
Schaut dann so aus:

Sub KopfzeilenAnpassen()
'Mittlere Kopfzeile in Dateien anpassen im 1. Tabellenblatt
Call TabellenBearbeiten(strVerzeichnis:="C:\Lokale Daten\Test\Daten", _
arrKopfFuss:=Array(2), _
arrKopfFussTexte:=Array("&14&UFertigungsparameter" & Chr(10) & "&20SMT-Linie 2"))
End Sub


Gruß
Franz

Anzeige
AW: Kopfzeile ändern
21.01.2009 09:01:14
Fahringer
aha, so werde ich es porbieren.
Danke für die Hilfe.
Gruß
Georg
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige