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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige