Laufzeitfehler bei call
13.07.2020 22:50:58
henrik
Folgendes Problem, wäre super wenn ihr mir helfen könntet:
Ich will nach bestimmten User-Filterungen einen Bilderkatalog ausgeben, mit Klick auf das jeweilige Bild sollen weitere Infos eingeblendet werden. Mittlerweile habe ich eingesehen, dass wohl nur der Umweg z.B. CommandButton erzeugen und dann das Bild darauf einfügen zum Erfolg führt. Nach dem Einfügen des Buttons und der Umbenennung (Bild-ID) kommt ein Laufzeitfehler "Objekt erforderlich", sobald ich das Bild einfügen will. Wenn ich den .Picture-befehl in ein Unter-Sub ausgliedere und nach Durchlauf des Hauptmakros manuell starte funktioniert es und das Bild wird eingefügt. Das Unter-Sub in das Hauptmakro integrieren führt wieder zur Fehlermeldung.
Habt ihr eine Ahnung, wie ich das Problem umgehen kann?
-Im Code habe ich den Buttonname aktuell hart zugewiesen, wenn der Fehler ausgemerzt ist stell ich wieder auf dynamisch um -> daher die Public-Variablen
- die i-Zellen sind die Positionen im Bilderkatalog, in den j-Zellen stehen die Bild-Dateinamen (z.B. 25_2.jpg)
- Office 365
Public i As Integer
Public j As Integer
Public objname As String
Public Sub CommandButton1_Click()
Dim oPic As Object
Dim rngZelle As Range
i = 5
For j = 11 To 15
Set rngZelle = Cells(26, i)
Set oPic = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=972.75, Top:=261.75, Width:=82.75, Height:=82)
oPic.Name = "Image" & Left(Cells(j, 10), 4)
objname = "Image" & Left(Cells(j, 10), 4)
oPic.Top = rngZelle.Top
oPic.Left = rngZelle.Left
oPic.Width = rngZelle.Width - 10
oPic.Placement = xlMoveAndSize
Call Bildname
i = i + 1
Next j
End Sub
Public Sub Bildname()
Image25_2.Picture = LoadPicture("G:\BO EI REP\20_Projekte\999_Prototypen\Projektordner HL\Ü _
bersicht Tableaukomponenten\Bilder Taster\25_2.jpg")
End Sub