Supportnet / Forum / Tabellenkalkulation
per Makro einen Kommentar mit Hintergundbild versehen
Frage
Hallo zusammen,
wie ich hier gelernt habe, kann man einen Kommentar zu einer Zelle mit einem Hinterbild belegen. Ist zwar nicht ohne Hilfe zu finden dieser Weg, aber mit Eigenschaften des Kommentars / Farben und Linien / Ausfüllen Farbe / Fülleffekte / Grafik / Grafik auswählen sollte es gehen. Um die Eigenschaften des Kommentars zu verändern, muss natürlich der Rand des Kommentarfelds angeklicjkt werden, dann kommt man erst an die Eigenschaften ran.
Nun wollte ich dieses automatiiseren: im Ordner "eigene Bilder liegt immer eine Datei unbenannt.jpg. Wenn das Makro ausgeführt wird, soll die aktuelle Zelle mit einem Kommentar versehen sein, der aus gerade diesem Hintergrundbild besteht. Den Kommentar brauche ich dann bloss noch in die richtige Größe zu ziehen, und ich kann die schönsten Grafiken anzeigen lassen. Aus irgendeinem Grund hat mich der Makroeditor von Excel hier immer im Stich gelassen. Ich kann zwar den Makrorecorder von Excel starte und alle Mausklicks aufzeichnen. Wenn ich das Makro dann abspiele, habe ich leider kein Hintergundbild für die Zelle, sondern immer nur eine Fehlermeldung.
Bei
Selection.ShapeRange.Fill.Transparency = 0#
kommt leider eine Fehlermeldung.
Wäre nett, wenn jemand sich damit auskennt und einen Tipp geben kann.
Grüße
Stefan
Antwort 1 von Stefan_calc
Hallo zusammen,
anbei noch das Makro bei dem diese Fehlermeldung kommt:
so long
Stefan
Sub Makro17()
'
Range("B10722").AddComment
Range("B10722").Comment.Visible = False
Range("B10722").Comment.Text Text:="Stefan :" & Chr(10) & ""
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 80
Selection.ShapeRange.Fill.UserPicture _
"C:\Documents and Settings\datsstfj\My Documents\My Pictures\Sample.jpg"
Range("F10721").Select
End Sub
anbei noch das Makro bei dem diese Fehlermeldung kommt:
so long
Stefan
Sub Makro17()
'
Range("B10722").AddComment
Range("B10722").Comment.Visible = False
Range("B10722").Comment.Text Text:="Stefan :" & Chr(10) & ""
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 80
Selection.ShapeRange.Fill.UserPicture _
"C:\Documents and Settings\datsstfj\My Documents\My Pictures\Sample.jpg"
Range("F10721").Select
End Sub
Antwort 2 von coros
Hallo Stefan,
nachfolgendes Makro fügt in der markierten Zelle ein Kommentar mit Bild ein. Kopiere das Makro in ein StandardModul und starte es über z.B. eine Befehlsschaltfläche.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte.
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.
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.
nachfolgendes Makro fügt in der markierten Zelle ein Kommentar mit Bild ein. Kopiere das Makro in ein StandardModul und starte es über z.B. eine Befehlsschaltfläche.
Option Explicit
Sub Kommentarbild_einfügen()
Dim Kommentar As Object
Rem: Wenn kein Kommentar in der aktiven Zelle vorhanden, dann
If ActiveCell.Comment Is Nothing Then
Rem: Kommentar einfügen
ActiveCell.AddComment
Rem: Den Text im Kommentarfeld löschen
ActiveCell.Comment.Text Text:=""
Rem: Objektvariable erzeugen
Set Kommentar = ActiveCell.Comment.Shape
Rem: Dem neuen Objekt das Bild zuweisen und in der Größe anpassen
With Kommentar
.Fill.UserPicture "C:\Documents and Settings\datsstfj\My Documents\My Pictures\Sample.jpga"
.Width = 250
.Height = 250
End With
End If
End Sub
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte.
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.
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 3 von Stefan_calc
Hallöchen Oliver,
hast du wieder mal gut beantwortet. Bin begeistert!
Gruß
Stefan
hast du wieder mal gut beantwortet. Bin begeistert!
Gruß
Stefan