PDA

Vollständige Version anzeigen : Kopfzeile verweisen VBA


ssteph15
02.07.2015, 13:56
Hallo Zusammen,

ich moechte fuer meine ganzen Kopfzeilen, der verschiedenen Sheets, ein VBA Programm schreiben. Die Kopfzeile soll automatisch auf eine bestimmte Zelle im ersten Sheet verweisen. Dieses habe ich soweit auch hinbekommen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Sheet2").PageSetup.RightHeader = "Nummer " & Sheets("Sheet1").Range("Y6").Value & vbLf & "toller Text" & vbLf & "Date: " & Sheets("Sheet1").Range("Y3")
Sheets("Sheet3").PageSetup.RightHeader = "Nummer " & Sheets("Sheet1").Range("Y6").Value & vbLf & "toller Text" & vbLf & "Date: " & Sheets("Sheet1").Range("Y3")
End Sub

Nun moechte ich jedoch noch einiges erweitern.
1.
Ich moechte, dass die Kopfzeile entweder vorher gespeert ist oder dass der Text vorher weiss (also nicht sichtbar) und dann beim drucken schwarz angezeigt wird.

2. Zum Verweis von Y6 moechte folgendes Einstellen:
Ich habe im Sheets1 4 Zeilen Y6, Y7, Y8 und Y9
Wenn in Y7,8 und 9 nichts drinnen steht, also blank ist, soll auf Y6 verwiesen werden.
Falls in Y6 und Y7 etwas drinnen steht soll auf Y7 verwiesen werden usw.

Generell sei dabei gesagt, dass wenn in Y9 etwas drinnen steht, werden Y6,7,8 auch voll sein und es soll auf Y9 verwiesen werden.

Ich hoffe Ihr koennt mir bei dem Anliegen helfen.

Vielen Dank

Stephan

ssteph15
04.07.2015, 17:37
Bitte um Hilfe :)

Storax
05.07.2015, 14:31
Mit ActiveSheet.PageSetup.RightHeader = "&KFFFFFF Text in weiss :-)"erhältst Du weissen Text und mit ActiveSheet.PageSetup.RightHeader = "&KFF0000 Text in rot :-)" wird er rot. Siehe dazu https://msdn.microsoft.com/en-us/library/bb225426%28v=office.12%29.aspx
Vielleicht bringt Dich das Deinem Ziel näher.

Zu Deiner zweiten Frage hilft Dir vielleicht
http://www.pcmag.com/article2/0,2817,1601616,00.asp

Storax
05.07.2015, 15:01
Der zweite Tipp funktioniert auch :)

ssteph15
06.07.2015, 00:52
Hey danke!

Das mit der Farbe funktioniert. Vielen Dank dafuer. Mein zweites Anliegen, soll jedoch auch in VBA vorgenommen werden. Sodass immer das letzte Datum der letzten Revision ausgewaehlt wird.

ssteph15
06.07.2015, 17:00
So ich habs hinbekommen. Einfach mehrere IF Anweisungen verwenden: Zellen abfragen ob sie leer sind ("")

Vielen Dank