Clever-Excel-Forum

Normale Version: Feld von A2 in der Kopfzeile
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum

Wie belomme ich den Inhalt von A2 in die Kopfzeile? Da sind die Jahreszalhlen drin....

Datei liegt bei.

Gruss
cuba
Hallo Cuba

Welche Kopfzeile?
Hallo,

kopiere den folgenden Code in das Modul 'DieseArbeitsmappe':

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
   ActiveSheet.PageSetup.LeftHeader = "Ein beliebiger Text: " & Range("A2").Value
End Sub

Alternativ kannst du auch RightHeader oder CenterHeader etc. verwenden - hier hilft der Makrorekorder im Fall der Fälle weiter.
Hallo Peter

Vielen Dank für die Hilfe.

Ich habe in dieser Datei etwa 8 Blätter, wobei dann nur bei einigen diese Formel zu Einsatz kommen soll.

Gibt es allenfalls eine nicht VBA-Lösung und wenn nicht, wie macht man das bei unterschiedlichen Blättern?

LG
cuba
Hallo,

meinst Du so?

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
   Dim lngC As Long
  
   For lngC = 1 To ThisWorkbook.Worksheets.Count
      Select Case Worksheets(lngC).Name
         Case "Tabelle1", "Tabelle2" 'hier die Tabellennamen anpassen
            Worksheets(lng).PageSetup.LeftHeader = "Ein beliebiger Text: " & Worksheets(lngC).Range("A2").Value
      End Select
   Next lngC
End Sub
(18.07.2015, 08:47)Steffl schrieb: [ -> ]Hallo,

meinst Du so?

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Dim lngC As Long
 
  For lngC = 1 To ThisWorkbook.Worksheets.Count
     Select Case Worksheets(lngC).Name
        Case "Tabelle1", "Tabelle2" 'hier die Tabellennamen anpassen
           Worksheets(lng).PageSetup.LeftHeader = "Ein beliebiger Text: " & Worksheets(lngC).Range("A2").Value
     End Select
  Next lngC
End Sub

Hallo Stefan

Vielen Dank für Deinen Vorschlag. Ich muss aber meine Anfrage etwas präzisieren......, sorry.

Die Datei hat total 8 Blätter, davon sind 3 Blätter von der Jahreszahl betroffen.
Das Blatt Statistik hat in der Kopfzeile den Text: Statistik Angebote in der Ostschweiz danach sollte die eingestellt Jahreszahl aus A2 kommen, also Statistik Angebote in der Ostschweiz 2015.
Das nächste Blatt heisst dann Verrechnung per KW und da sollte dann in der Kopfziele Faktuerierte Aufträge Ostschweiz 2015 stehen, wobei hier die Jahreszahl in T1 steht
Das letzte Blatt mit dieser Funktion ist das Blatt Auftragseingang per KW und hier steht dann in der Kopfzeile: Eingegangene Aufträge Ostschweiz 2015, wobei hier die Jahreszahl in T1 steht

Mit den restlichen 5 Blättern kann ich ganz normal die Blattnamen einsetzen.
Es wr mir nicht bewusst, dass dies nur über VBA zu lösen ist, darum hatte ich die Test-Datei beigefügt, allerdings nur mit einem Blatt.

Wenn ich also Deinen Vorschlag ummünzen kann, wie genau muss ich da vorgehen? Geht das unter diesen Umständen überhaupt?

Gruss
cuba
Hi Cuba,

mal 'ne ganz blöde Frage. Warum muss den die Jahreszahl unbedingt auf den bereits vorhandenen Text folgen? Lies diese doch einfach in den Center Header ein und lass die Texte im linken Kopfbereich stehen.
Hallo zusammen

Vielen DAnk für Eure Beiträge.

Da ich mit keinem den geünschten Erfolg erzielen konnte, habe ich meine Datei "umgebaut", so dass ich nun mit meiner rudimtären Lösung gut leben kann.

Gruss
cuba
Hallo,

(18.07.2015, 11:59)cuba schrieb: [ -> ]Da ich mit keinem den geünschten Erfolg erzielen konnte, habe ich meine Datei "umgebaut", so dass ich nun mit meiner rudimtären Lösung gut leben kann.

Echt toll :s War das jetzt so brisant das Du keine Zeit hattest ein wenig auf eine Lösung zu warten?

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
   Dim lngC As Long
   Dim vntWorksheetName As Variant
   Dim vntText As Variant
   Dim vntAdresse As Variant
  
   vntWorksheetName = Array("Statistik", "Verrechnung per KW", "Auftragseingang per KW")
   vntText = Array("Statistik Angebote in der Ostschweiz ", "Faktuerierte Aufträge Ostschweiz ", "Eingegangene Aufträge Ostschweiz ")
   vntAdresse = Array("A2", "T1", "T1")
  
   For lngC = 1 To ThisWorkbook.Worksheets.Count
      If Worksheets(lngC).Name = vntWorksheetName(lngC - 1) Then
         Worksheets(lng).PageSetup.LeftHeader = vntText(lngC - 1) & Worksheets(lngC).Range(vntAdresse(lngC - 1)).Value
      End If
   Next lngC
End Sub