Grafik als Wasserzeichen in Excel
Hallo Leser,
ich hoffe einer von euch kann mir helfen, denn von diesem Forum habe ich nur gutes gehört und ihr seit meine "letzte Hoffnung".
Folgendes Problem habe ich:
Ich habe eine Arbeitsmappe mit X Tabellenblättern. Dann habe ich eine weitere Arbeitsmappe, in der die Namen der X Tabellenblätter aufgelistet sind (in Zeilen 3 beginnend) und in den Spalten (ab B) stehen Namen in Zeile 1und in Zeile 2 stehen zu den Namen fest vergebene, unterschiedliche Nummern. Das ist meine Verteiler, damit ich weiß, welche Person welches Tabellenblatt bekommt.
Was will ich tun:
ich möchte eine Art "Drucksteuerung" per VBA bauen, wo ich auf diese Verteilerliste zugreife, mir diese fest definierte Zahl pro Person hole und diese dann wiederum als "Wasserzeichen" hinter die X Tabellenblätter bringe. Das läuft dann solang, bis alle Dateien für alle Namen mit dem speziellen Wasserzeichen erstellt sind.
Geht sowas per VBA? Komme ich an die Stelle mit Hilfe VBA wo, wenn ich im Excel die Seitenansicht anwähle, die Seite 1 etc. steht?
Kurzum lautet meine Frage:
wie bekomme ich die Nummer als Wasserzeichen so hinter die Tabellenblätter, dass man bei Ausdruck die Informationen in den Tabellen vollständig lesen incl. der Zahl im Hintergrund?
Wenn möglich soll die Zahl fast so groß sein wie ein A4-Blatt.
Im Geschäft habe ich nur Excel 2000.
Ich weiß aber, dass es bei Excel XP die Möglichkeit gibt, im Kopftext eine Grafik einzufügen die dann als Wasserzeichen ausgedruckt wird. Gibt es evtl. eine versteckte Möglichkeit auch bei "meinem Excel 2000?"
Vielen Dank schon mal für eure Tipps bzw. Hilfe.
Gruß
Ron
Antwort schreiben
Antwort 1 von coros vom 16.07.2020, 05:55 Options
Hallo Ron,
hier mal eine VBA-Lösung. Erstelle ein WordArt und ändere die Größe usw. so, wie Du es Dir vorgestellt hast. Dann vergebe dem WordArt den Namen „Wasserzeichen“. Den Namen kannst Du in dem Feld, das über der Schnittkante der Spalten- und Zeilenüberschrift oben links befindet, ändern. Dort müsste nach dem Einfügen so etwas wie „WordArt 1“ stehen. Außerdem muss sich in der Datei ein Tabellenblatt mit dem Namen „Tabelle2 befinden.
Kopiere dann das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei. Option Explicit
Sub Print_mit_Wasserzeichen()
Application.ScreenUpdating = False
With ActiveSheet
.Shapes("Wasserzeichen").Visible = True
.Shapes("Wasserzeichen").TextEffect.Text = Sheets("Tabelle2").Range("B2")
.PrintOut
.Shapes("Wasserzeichen").Visible = False
End With
End Sub
Mit dem Makro wird das Wordart eingeblendet, der Wert, der im Blatt „Tabelle2“ in Zelle B2 steht, eingetragen, das Tabellenblatt ausgedruckt und dann das WordArt wieder ausgeblendet.
Dies mal so als Ansatz, da ich Deine Dateien nicht kenne. Ich hoffe, Du meintest das so.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von ron11 vom 16.07.2020, 16:29 Options
Hallo Oliver,
vielen Dank für deine Rückmeldung.
Leider ist es nicht ganz das, was ich suche. Durch deinen VBA-Code wird mir zwar das WordArt erstellt aber es liegt dann vor meiner Tabelle und dadruch sind die Werte in der Tabelle nicht mehr lesbar.
Ich muss aber einen Weg finden, wie ich so ein "Wasserzeichen" hinter meine Tabelle bekomme damit
a.) der Inhalt der Tabelle komplett lesbar und bearbeitbar ist und
b.) das das Wasserzeichen ausdruckbar ist.
Als Hintergrundgrafik bei Excel bringt mir das auch nichts, obwohl ich diese variabel gestalten kann.
In Word gibt es ja die tolle Sache "Bild hinter Text" und schon habe ich ein Wasserzeichen. Das geht aber in Excel nicht.
Desweiteren soll das "Wasserzeichen" eine Variable werden, die sich oft ändern wird.
Hast du dazu eine Idee?
MfG
Ron
PS: Meine VBA-Kenntnisse sind schon recht gut. Trotzdem hast du eine gute HP.
Antwort 3 von coros vom 16.07.2020, 17:31 Options
Hallo Ron,
das geht schon, Du musst nur das WordArt etwas durchsichtig gestalten. Klicke hierzu das Wordart mit der rechten Maustaste an und wähle in dem Menü "WordArt formatieren" aus. Wechsele, sofern nicht bereits angezeigt, in das Register "Farben und Linien". Dann unter "Ausfüllen" den Schieberegler "Transparenz" soweit verschieben, bis der gewollte Durchscheinungsfaktor erreicht ist.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von ron11 vom 17.07.2020, 08:29 Options
Hallo Oliver,
also die Transparenz habe ich in zwei Excelvarianten probiert. Daheim mit Excel 2003 und im Geschäft mit Excel 2000.
In Excel 2003 kann ich die Transparenz stufenlos und genau so einstellen, dass ich mein gewünschtes Ergebnis bekomme.
Nur im Geschäft mit Excel 2000 gibt es in der Formatierung von WordArt nur die Möglichkeit, den Hacken bei Halbtransparent zu setzten. Und dieses Ergebnis stimmt mich leider nicht zu frieden. Denn die Zahlen hinter dem WordArt kann man so gut wie nicht lesen. Auch nicht mit den schwächsten Grau.
Hast du evtl. noch eine Idee?
Gruß
Ron
Antwort 5 von coros vom 17.07.2020, 11:14 Options
Hallo Ron,
dann fällt mir nur noch die Möglichkeit mit einem Hintergrundbild zu arbeiten ein.
Das Makro sähe dann so aus:
Option Explicit
Sub Print_mit_Wasserzeichen()
Application.ScreenUpdating = False
With ActiveSheet
.SetBackgroundPicture Filename:="H:\Müll\" & Sheets("Tabelle2").Range("B2") & ".bmp"
.PrintOut
.SetBackgroundPicture Filename:=""
End With
End Sub
Wobei hier in dem Pfad für jede Zahl ein Bild vorhanden sein müsste. Ist daher also nicht allzu komfortabel.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.