Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatische Anpassung der Druckangaben per VBA

Automatische Anpassung der Druckangaben per VBA
Salim

Hallo Zusammen,
Ich hatte ein kleines Thema, der euch wahrscheinlich sehr einfach erscheint, mir aber leider nicht ;)
Ich habe folgende Eingaben :
Blatt1 : Zelle E19 : Eingabes eines Wortes mit weniger als 20 Zeichen
Blatt1 : Zelle E22 : Eingabes eines Wortes mit weniger als 20 Zeichen
Blatt1 : Zelle E24 : Eingabes eines Datums
Ich versuche folgendes zu machen :
Falls eine der oben genannten Zelle geandert wird, soll ein VBA-Code automatisch ausgeloest werden so dass meine Druckangaben fuer alle Blaetter (ausser Blatt1) folgendermassen geandert werden :
Oben links soll beim Drucken auf jedes Blatt (ausser Blatt1) erscheinen :
Name : Text aus Zelle E19 des Blattes 1 (Groesse 10, Arial, Fett)
Name 2 : Text aus Zelle E22 des Blattes 1 (Groesse 10, Arial, Fett)
Datum: Datum aus Zelle E24 des Blattes 1 (Groesse 10, Arial, Fett)
Wer kann mir da helfen, bitte?
Vielen Dank im Voraus
Salim
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Automatische Anpassung der Druckangaben per VBA
01.10.2009 20:39:01
Josef
Hallo Salim,
kopiere diesen Code in das Modul von "Blatt1".
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim objSh As Worksheet, strHeader As String
  
  If Not Intersect(Target, Range("E19,E22,E24")) Is Nothing Then
    strHeader = Me.Range("E19").Text & ", " & Me.Range("E22").Text & ", " & Me.Range("E24").Text
    
    For Each objSh In ThisWorkbook.Worksheets
      If Not objSh Is Me Then
        objSh.PageSetup.LeftHeader = "&""Arial,Bold""&10" & strHeader
      End If
    Next
    
  End If
  
End Sub

Gruß Sepp

Anzeige
AW: Automatische Anpassung der Druckangaben per VBA
01.10.2009 23:04:58
Salim
Hallo Sepp,
Vielen Dank, es funktioniert. Nur 2 Sachen haette ich noch ;)
Dein Code benoetigt relativ lange zum ausfuehren (fuer 25 Tabellen), ungefaehr 20 sekunden. Kann man das optimieren ?
Die zweite Sache ist, Ich haette den Header gerne folgendermassen gehabt :
Nicht
Name, Name, Datum
Sondern
Name : + Text aus Zelle E19 - Ergebnis sieht so aus - Name : Paul
Name : + Text aus Zelle E22 - Ergebnis sieht so aus - Name : Anna
Datum : + Datum aus Zelle E24 - Ergebnis sieht so aus - Datum : 01. Oktober 2009
Ist es moeglich ? Vielen Dank
Salim
Anzeige
AW: Automatische Anpassung der Druckangaben per VBA
02.10.2009 10:33:29
Rudi
Hallo,
1. Die Seiteneinrichtung per VBA ist grottenlahm. Das lässt sich auch nicht ändern.
Evtl. solltest du den Code in Workbook_BeforePrint auslagern und nur auf das zu druckende Sheet anwenden.
2.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objSh As Worksheet, strHeader As String
If Not Intersect(Target, Range("E19,E22,E24")) Is Nothing Then
strHeader = "Name: " & Me.Range("E19").Text _
& vbLf & "Name: " & Me.Range("E22").Text _
& vbLf & "Datum: " & Format(Me.Range("E24"), "DD.MMMM YYYY")
For Each objSh In ThisWorkbook.Worksheets
If Not objSh Is Me Then
objSh.PageSetup.LeftHeader = "&""Arial,Bold""&10" & strHeader
End If
Next
End If
End Sub

Gruß
Rudi
Anzeige
AW: Automatische Anpassung der Druckangaben per VBA
02.10.2009 11:38:25
Salim
Herzlichen Dank !

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige