Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Grafik durch Funktion einfügen



Excel-Version: 10.0 (Office XP)

Betrifft: Grafik durch Funktion einfügen
von: Adrian
Geschrieben am: 29.05.2002 - 16:28:03

Hallo,
ist es möglich eine Grafik abhängig von einem Wert in einer Funktion einzufügen ? z.Bsp:
Function grafik_einfuegen(nummer)
ActiveSheet.Select Range("g4").Select
ActiveSheet.Pictures.Insert("G:\" & nummer & ".jpg")
End Function

Die Funktion liefert immer den Fehler wert ?
Hat jemand eine Lösung ?

Vielen Dank
Adrian

  

Re: Grafik durch Funktion einfügen
von: Rainer
Geschrieben am: 29.05.2002 - 23:22:54

Lieber Adrian!

Mit einer Funktion kann ich leider nicht dienen, möglicherweise gibt es eine.

Vielleicht hilft dir das:

In Klassenmodul (hoffentlich ist das jetzt der richtige Name) der Tabelle1 folgenden Code eingeben:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim nummer as Integer

If Target <> Range("$A$4") Then
    Exit Sub
Else
    nummer = CStr(Sheets(1).Cells(4, 1).Value)
    ActiveSheet.Pictures.Insert ("G:\" & nummer & ".jpg")
End Sub

Lieben Gruß
Rainer


  

Re: Grafik durch Funktion einfügen
von: Adrian
Geschrieben am: 30.05.2002 - 10:55:14

Vielen Dank Rainer,
könntest Du mir den Code etwas näher erklären.

Vielen Dank

Gruss
Adrian


  

Re: Grafik durch Funktion einfügen
von: Adrian
Geschrieben am: 30.05.2002 - 19:24:17

Habe alles gelöst ohne Function. Vielen Dank an Rainer.
Wenn es interessiert hier der code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nummer As Integer
Dim Grafik As Shape
Dim x As Double, y As Double
ActiveSheet.Pictures.Delete
If Target <> Range("$A$1") Then
Exit Sub
Else
ActiveSheet.Range("$g$4").Select
nummer = CStr(Sheets(1).Cells(1, 1).Value)
On Error GoTo WEITER1
ActiveSheet.Pictures.Insert ("I:\" & nummer & ".jpg")
x = 330: y = 110
For Each Grafik In Worksheets(1).Shapes
Grafik.Height = 300
Grafik.Width = 400
Grafik.Left = x
Grafik.Top = y
y = Grafik.Top + Grafik.Height
Next Grafik
End If
Exit Sub
WEITER1:
MsgBox "Grafik wurde nicht gefunden!"
End Sub

Durch Eingabe eiens Wertes in A1 wird eine Grafik mit dem Wert (z.Bsp. 10.jpg eingefügt und formatiert und die Alte vorher gelöscht.

  

Re: Grafik durch Funktion einfügen
von: Rainer
Geschrieben am: 30.05.2002 - 22:55:18

Lieber Adrian!

Es passiert folgendes:

Das Worksheet_Change(..)-Ereignis tritt immer dann ein, wenn im jeweiligen Tabellenblatt der Wert von zumindest 1 Zelle geändert wird. Das wird hier ausgenützt und gefragt, ob diese Zelle die Zelle A4 ist, wenn nicht, wird abgebrochen. (Target ist daher ein Range-Objekt)

Hat sich der Wert der Zelle A4 geändert, z.B. durch Eingabe der Zahl 4, wird das Change-Ereignis ausgelöst. Der Variablen 'wert' wird der Wert aus der Zelle 'A4' zugewiesen.

Die letzte Anweisungszeile bewirkt, dass das Bild mit dem Namen '4.jpg' geöffnet wird.

Hilft dir das?

Lieben Gruß
Rainer

 

Beiträge aus den Excel-Beispielen zum Thema "Grafik durch Funktion einfügen"