Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Grafik auf Position bringen
01.08.2008 11:19:02
Harald
Hallo zusammen,
habe folgenden Script (ich gestehe, den hat mir eine Freundin geschrieben), der auch funktioniert:
Option Explicit ' Variablendefinition erforderlich
' Konstante für Ablagepfad Bilder
Const StPfad As String = "G:\Bilder\0001-1000\"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim StBild As String                    ' Variable für Bildname
Dim InI As Integer                      ' Schleifenvariable
Dim objShape As Object
If Target.Address  "$B$36" Then Exit Sub  'prüfen ob
'   Bildnamen zusammensetzen
If Target.Value = "" Then Exit Sub      ' kein Eingabe, Prozedur verlassen
StBild = StPfad & Format(Target.Value, "00000") & ".jpg" 'den Dateinamen übernehmen
Worksheets("Ausgabe").Activate            'Auf das Tabellenblatt Bild springen
Application.EnableEvents = False       ' Reaktion auf Eingabe abschalten
Target.Offset(0, 1) = ""                ' Zelle neben Eingabefeld leeren
For Each objShape In ActiveSheet.Shapes
If objShape.Type = msoLinkedPicture Then objShape.Delete
Next
With ActiveSheet.Shapes.AddPicture(StBild, True, True, Target.Offset(0, 1).Left, _
Target.Offset(0, 0).Top, 450, 300)      'die letzten beiden Werte sind Breite und Höhe   _
_
_
_
der Bilder
End With
Application.EnableEvents = True         ' Reaktion auf Eingabe einschalten
End Sub



Private Sub ListBox1_Click()
End Sub


Ich schaffe es aber nicht diese Grafik auf eine bestimmte Position zu bringen. Also, die Grafik soll halt ab einer bestimmten Zelle auftauchen. Welcher Script-Eintrag fehtl da? Leider schafft meine Freundin das nicht.
Zudem ist es möglich die Grafik in den Hintergrund zu setzen? D.h. das z.B. Textfelder die Grafik überdecken?
Danke im Voraus und Gruß
Harald

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik auf Position bringen
01.08.2008 11:40:00
Ramses
Hallo
"...Also, die Grafik soll halt ab einer bestimmten Zelle auftauchen..."
"... Welcher Script-Eintrag fehtl da? Leider schafft meine Freundin das nicht..."
Dann soll sie mal in die VBA-Hilfe schauen zu den Eigenschaften der Bildposition.
Sub Bildposition()
    With ActiveSheet.Shapes("Bild 1")
        .Top = Range("B2").Top
        .Left = Range("B2").Left
    End With
End Sub

"...Zudem ist es möglich die Grafik in den Hintergrund zu setzen?.."
Nein. Eine Grafik im Hintergrund wird von EXCEL für den GESAMTEN Tabellenhintergrund verwendet.
"...D.h. das z.B. Textfelder die Grafik überdecken?.."
Ja, ... wenn die Textfelder Eingabeboxen aus der Symbolleiste "Steuerelement Toolbox" sind.
Hilfe:
ZOrder oder ZOrderposition in den Eigenschaften der Textbox oder des Bildes
Option Explicit

Sub Bildposition()
    Dim myP As Shape
    Set myP = ActiveSheet.Shapes("Bild 1")
    With myP
        Debug.Print ""
        .Top = Range("B2").Top
        .Left = Range("B2").Left
        .ZOrder (msoSendBackward)
    End With
End Sub

Gruss Rainer

Anzeige
AW: Grafik auf Position bringen
01.08.2008 11:47:56
Daniel
Hi
die Grafik erscheint immer in der Position der Zelle, die geändert wurde.
die Postion des Bildes wird im 4. und 5. Parameter der ShapesADD-Funktion festgelegt.
wo genau soll denn das Bild erscheinen?
das das Bild in einem Anderen Blatt eingefügt wird, ist dir hoffentlich klar.
zu den weitern Fragen:
in Excel liegt ein Bild immer über der Exceltabelle und deren Zellen.
falls es auch noch andere Grafikelemente gibt (Textboxen gehören auch dazu), kannst du natürlcih eine Reihenfolge festlegen, das kann man von Hand über das Kontextmenü - REIHENFOLGE festlegen.
falls du es als VBA Benötigst, lass einfach den recorder bei der Aktion mitlaufen.
Gruß, Daniel
Anzeige

94 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige