Hallo Peter,
Wenn ich den Code in das VBA-Projekt einer Tabelle schreibe, beschränke ich das ja auf dieses eine Blatt, richtig? (soll so sein)
Nicht unbedingt, das kommt auf deinen Code an. Hast du den Code in dem VBA-Projekt des Tabellenblatts in einem entsprechenden Worksheet-Ereignis (z.B. Worksheet_SelectionChange) dann stimmt das. Hast du aber einen allgemeinen Code, dann kannst du den Code von jedem Tabellenblatt ausführen.
Probiere mal das folgende aus: Erstelle eine neue Tabelle mit 2 Arbeitsblättern. Schreibe in die Zelle A1 jeweils Tabelle1 bzw. Tabelle 2. Füge den folgenden Code in das VBA-Projekt des Arbeitsblatts 1 ein:
Sub test()
MsgBox ActiveSheet.Range("A1").Value
End Sub
Gehe dann auf das Arbeitsblatt2 und führe den Code aus.
Wenn du willst, dass der Code nur in einem bestimmten Arbeitsblatt ausgeführt wird, dann kannst du z.B. am Anfang des Code prüfen, ob das Arbeitsblatt aktiv ist. Ich würde aber im Code das Arbeitsblatt ansprechen:
Sub test()
With Worksheets("Tabelle1")
MsgBox .Range("A1").Value
.Range("A2") = "Hallo"
End With
End Sub
Zu deiner 2. Frange: Natürlich kannst du den Text auch noch formatieren.
Schau dir mal das hier an: Format- und VBA-Codes für Kopf- und Fußzeilen
Beispiel:
Sub kopf()
With ActiveSheet.PageSetup
'Kopfzeile
.RightHeader = "&B " & Range("A1").Value 'rechts; Fett
.CenterHeader = "&""Arial""&8" & Range("A2").Value 'mitte in Arial 8
.LeftHeader = "&""Arial""&25&B&I" & Range("A3").Value 'links, Arial 25, Fett, Kursiv
'Fußzeile
.RightFooter = Range("B1").Value
.CenterFooter = Range("B2").Value
.LeftFooter = Range("B3").Value
End With
End Sub
Gruß
M.O.