Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hintergrundbild in Arbeitsmappe

Hintergrundbild in Arbeitsmappe
06.12.2005 21:26:58
Horst
Wer kann mir einen Tipp geben?
Für eine umfangreiche Arbeitsmappe benötige ich ein Hintergrundbild, wie es über den Dialog - Format - Blatt - Hintergrundbild üblich ist. So bleiben alle Zellen weiter aktiv, was gefordert wird. Die Datei hat dann eine Größe von über 30 MB. Meine Frage:
Ist es irgendwie möglich dieses Bild nur einmal je Tabellenblatt einzufügen, so dass die Datei nicht zu groß wird?
Wie gesagt, es müssen ale Zellen weiter aktiviert werden können.
Vielen Dank im Voraus.
Mit freundlichen Grüßen
Horst

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundbild in Arbeitsmappe
06.12.2005 23:16:42
Reinhard
Hi Horst,
ungetestet
...dieses Bild nur einmal je Tabellenblatt einzufügen...
Soll das heissen man kannn mehrere Hintergrundbilder pro Blatt einfügen?
Brauchst du das Hintergrundbild in Excel oder nur beim Ausdruck?
3o MB? *hmmh* was hat denn die Datei ohne Hintergrundbild?
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: Hintergrundbild in Arbeitsmappe
07.12.2005 19:20:22
Horst
Hallo Reinhard,
ich habe erst jetzt Gelegenheit zu antworten, was ich nunmehr tun möchte. Es handelt sich um ein Jahreshaushaltsbuch mit einem Deckblatt und weiteren 12 Tabellenblättern für die Monate Januar bis Dezember, Größe 300 kB. Bei der Tour Format - Blatt - Hintergrund wächst die Datei auf stattliche 30 MB! Das Hintergrundbild soll nur ein Blickfang bei der Arbeit sein und nicht augedruckt werden. Das Bild habe ich so groß bemessen, dass es etwas größer als der Scrollbereich ist, so dass Bildwiederholungen nicht ins Blickfeld kommen. Beate hat mir nunn den entscheidenden Tipp gegeben. Die Datei läuft mit Einschränkungen (siehe meine Antwort für Beate) und es ist bei den 300 kB geblieben. Für den 2. Teil benötige ich noch eine Lösung. Kannst Du mir vielleicht helfen?
Mit freundlichen Grüßen
Horst
Anzeige
AW: Hintergrundbild in Arbeitsmappe
07.12.2005 22:20:42
Reinhard
Hi Horst,
nach Vorarbeit von Beate:
Option Explicit
Private Sub Workbook_Open()
Dim n As Integer
Application.ScreenUpdating = False
For n = 1 To 12
Worksheets(MonthName(n)).SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets(MonthName(n)).ScrollArea = "B1:F53"
Next n
Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Konto-Dateien\dbl-06.jpg"
Worksheets("Dezember").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\dez.jpg"
Application.ScreenUpdating = True
End Sub

Ähnliche Schleife auch für Before_Close
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
Anzeige
AW: Hintergrundbild in Arbeitsmappe
07.12.2005 23:20:54
Beate
Hallo Horst,
wie Reinhard, habe ich auch gedacht, diese Wierholungen im Code sind doch wohl überflüssig; ich glaube, das hier ist schneller als über Schleife:

Private Sub Workbook_Open()
    If ActiveSheet.Name = "Deckblatt" Then
        Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
            "C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Konto-Dateien\dbl-06.jpg"
        If ActiveSheet.Name = "Dezember" Then
            Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
                "C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\dez.jpg"
        Else
            ActiveSheet.SetBackgroundPicture Filename:= _
                "C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
        End If
    End If
    If ActiveSheet.Name <> "Deckblatt" Then
        ActiveSheet.ScrollArea = "B1:F53"
    End If
End Sub


Aber ich habe deine Dateinamen eingebaut und daher nicht getestet.
Gruß,
Beate
Anzeige
AW: Hintergrundbild in Arbeitsmappe
08.12.2005 18:27:08
Horst
Hallo Reinhard,
habe Deine Variante erprobt, sie läuft einwadfrei. Ich möchte mich recht herzlich bedanken.
Mit freundlichen Grüßen
Horst
AW: Hintergrundbild in Arbeitsmappe
08.12.2005 18:34:13
Horst
Hallo Beate,
die Kurzvarianten von Dir und Reinhard habe ich erprobt, sie funktionieren einwandfrei.
Recht herzlichen Dank für die professionelle Hilfe. Makros sind für mich doch noch Neuland.
Mit freundlichen Grüßen
Horst
AW: Hintergrundbild in Arbeitsmappe
06.12.2005 23:29:15
Beate
Hallo Horst,
nachstehend ein paar Ableitungen aus dem Thread: https://www.herber.de/forum/archiv/564to568/t565344.htm#565344
Hintergrundbild aus externer Datei durch Workbook_open erzeugen, um Datei schlank zu halten:
Lass das Bild aus der Datei draussen (ungetestete Idee) - alle Makros gehören ins Codefenster "dieseArbeitsmappe" und funktionieren nach Speichern und nächstem Dateistart. Natürlich jeweils nur ein Workbook_Open und Workbook_BeforeClose-Makro, je nach deiner Wahl.

Private Sub Workbook_Open()
Worksheets("Tabelle1").SetBackgroundPicture Filename:= _
"D:\Eigene Dateien\Eigene Bilder\che.gif"
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Tabelle1").SetBackgroundPicture Filename:=""
End Sub

Verschiedene Hintergrundbilder in verschiedenen Blättern aus externen Dateien:

Private Sub Workbook_Open()
Worksheets("Tabelle1").SetBackgroundPicture Filename:= _
"F:\Beate\COMPUTER\Excel\Grafik\Granada.bmp"
Worksheets("Tabelle2").SetBackgroundPicture Filename:= _
"F:\Beate\COMPUTER\Excel\Grafik\Berlin.bmp"
End Sub

In allen Blättern beim Schließen Hintergrundbild löschen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Hintergrundbild beim Schließen in allen Blätern löschen
'Worksheets("Tabelle1").SetBackgroundPicture Filename:=""
Dim ws As Worksheet
For Each ws In Worksheets
ws.SetBackgroundPicture Filename:=""
Next ws
End Sub

Gruß,
Beate
Anzeige
AW: Hintergrundbild in Arbeitsmappe
07.12.2005 19:00:18
Horst
Hallo Beate,
den Tag über hatte ich leider keine Zeit, mich mit dem Problem zu beschäftigen. Ich möchte mich nun, wenn auch verspätet, für Deine Info bedanken, denn der Tipp war goldrichtig. Ich habe mir ein Jahres-Haushaltsbuch mit einem Deckblatt und die Blätter Januar bis Dezember, also insgesamt 13 Tabellenblätter entwickelt, auf die das Makro zugreifen soll. Der nachfolgende Code wurde von mir ergänzt und besteht aus 2 Teilen.

Private Sub Workbook_Open()
Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Konto-Dateien\dbl-06.jpg"
Worksheets("Januar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Februar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Hasi\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("März").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("April").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Mai").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juni").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juli").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("August").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("September").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Oktober").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("November").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Dezember").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\dez.jpg"
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Deckblatt").SetBackgroundPicture Filename:=""
Worksheets("Januar").SetBackgroundPicture Filename:=""
Worksheets("Februar").SetBackgroundPicture Filename:=""
Worksheets("März").SetBackgroundPicture Filename:=""
Worksheets("April").SetBackgroundPicture Filename:=""
Worksheets("Mai").SetBackgroundPicture Filename:=""
Worksheets("Juni").SetBackgroundPicture Filename:=""
Worksheets("Juli").SetBackgroundPicture Filename:=""
Worksheets("August").SetBackgroundPicture Filename:=""
Worksheets("September").SetBackgroundPicture Filename:=""
Worksheets("Oktober").SetBackgroundPicture Filename:=""
Worksheets("November").SetBackgroundPicture Filename:=""
Worksheets("Dezember").SetBackgroundPicture Filename:=""
End Sub


Private Sub Workbook_Open()
Sheets("Juli").ScrollArea = "B1:F53"
Sheets("August").ScrollArea = "B1:F53"
Sheets("September").ScrollArea = "B1:F53"
Sheets("Oktober").ScrollArea = "B1:F53"
Sheets("November").ScrollArea = "B1:F53"
Sheets("Dezember").ScrollArea = "B1:F53"
Sheets("Januar").ScrollArea = "B1:F53"
Sheets("Februar").ScrollArea = "B1:F53"
Sheets("März").ScrollArea = "B1:F53"
Sheets("April").ScrollArea = "B1:F53"
Sheets("Mai").ScrollArea = "B1:F53"
Sheets("Juni").ScrollArea = "B1:F53"
End Sub

Der letzte Teil des Code soll bewirken, dass nur die Zellen B1:F53 aktiviert werden können. Auf diesen Effekt möchte ich ungern verzichten. Doch beides zusammen funktioniert nicht. Also entweder Code für die Hintergrundbilder oder aber Code für die zu aktivierenden Zellen. Wie kann man beides unter einen Hut bekommen?
Ich darf mich im Voraus bedanken.
Mit freundlichen Grüßen
Horst
Anzeige
Hintergrundbild in Arbeitsmappe
07.12.2005 20:41:17
Beate
Hallo Horst,
ganz einfach: Du kannst keine 2 Workbook_Open-Makros haben. Einfach alles in einem kombinieren:

Private Sub Workbook_Open()
Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Konto-Dateien\dbl-06.jpg"
Worksheets("Januar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Februar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Hasi\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("März").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("April").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Mai").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juni").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juli").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("August").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("September").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Oktober").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("November").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Dezember").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\dez.jpg"
Sheets("Juli").ScrollArea = "B1:F53"
Sheets("August").ScrollArea = "B1:F53"
Sheets("September").ScrollArea = "B1:F53"
Sheets("Oktober").ScrollArea = "B1:F53"
Sheets("November").ScrollArea = "B1:F53"
Sheets("Dezember").ScrollArea = "B1:F53"
Sheets("Januar").ScrollArea = "B1:F53"
Sheets("Februar").ScrollArea = "B1:F53"
Sheets("März").ScrollArea = "B1:F53"
Sheets("April").ScrollArea = "B1:F53"
Sheets("Mai").ScrollArea = "B1:F53"
Sheets("Juni").ScrollArea = "B1:F53"
End Sub

Das ist bei allen Ereignismakros so. Also pro Ereignis (hier das Ereignis "Dateiöffnen")
nur ein Makro pro Codefenster.
That's it.
Beate
Anzeige
Hintergrundbild in Arbeitsmappe
07.12.2005 20:41:29
Beate
Hallo Horst,
ganz einfach: Du kannst keine 2 Workbook_Open-Makros haben. Einfach alles in einem kombinieren:

Private Sub Workbook_Open()
Worksheets("Deckblatt").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Konto-Dateien\dbl-06.jpg"
Worksheets("Januar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Februar").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Hasi\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("März").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("April").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Mai").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juni").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Juli").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("August").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("September").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Oktober").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("November").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\jan-nov.jpg"
Worksheets("Dezember").SetBackgroundPicture Filename:= _
"C:\Dokumente und Einstellungen\Eigene Dateien\Ko\Ko-Dateien\dez.jpg"
Sheets("Juli").ScrollArea = "B1:F53"
Sheets("August").ScrollArea = "B1:F53"
Sheets("September").ScrollArea = "B1:F53"
Sheets("Oktober").ScrollArea = "B1:F53"
Sheets("November").ScrollArea = "B1:F53"
Sheets("Dezember").ScrollArea = "B1:F53"
Sheets("Januar").ScrollArea = "B1:F53"
Sheets("Februar").ScrollArea = "B1:F53"
Sheets("März").ScrollArea = "B1:F53"
Sheets("April").ScrollArea = "B1:F53"
Sheets("Mai").ScrollArea = "B1:F53"
Sheets("Juni").ScrollArea = "B1:F53"
End Sub

Das ist bei allen Ereignismakros so. Also pro Ereignis (hier das Ereignis "Dateiöffnen")
nur ein Makro pro Codefenster.
That's it.
Beate
Anzeige
AW: Hintergrundbild in Arbeitsmappe
07.12.2005 22:03:33
Horst
Hallo Beate,
vielen, vielen Dank für Deinen Tipp, es funktioniert alles bestens!!!!!!!
Mit freundlichen Grüßen
Horst

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige