Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bild in Userform einfügen - Laufzeitfehler 481

Bild in Userform einfügen - Laufzeitfehler 481
26.02.2014 17:12:43
Steffen
Guten Tag,
ich habe folgendes Problem mit meiner Userform. In diese soll ein Chart von dem "Startblatt" Sheet eingefügt werden.
Dieses hat mit dem folgenden Code ein paar mal geklappt aber nun funktioniert es nicht mehr. Es kommt ständig der Laufzeitfehler 481 - Ungültiges Bild.
Ich verwende folgenden Code im Modul um das Bild zu exportieren :
Option Explicit
Public Dateiname As String
Sub Bild_Anzeigen()
Dim Diagramm As Object
Set Diagramm = Worksheets("Startblatt").ChartObjects(1).Chart
Diagramm.Parent.Width = Ergebnisform.Image1.Width
Diagramm.Parent.Height = Ergebnisform.Image1.Height
Dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.bmp"
Diagramm.Export Filename:=Dateiname, FilterName:="bmp"
Ergebnisform.Image1.Picture = LoadPicture(Dateiname)
End Sub
Dieser Code steht im Sheet(Startblatt):

Private Sub Worksheet_Change(ByVal Target As Range)
For Each fm In UserForms
If fm.Name = "Ergebnisform" Then
Bild_Anzeigen
Exit For
End If
Next fm
End Sub

Und abschließend dieser Code steht im Userform zum aufrufen des Images:
Option Explicit

Private Sub Userform_activate()
Bild_Anzeigen
End Sub

Private Sub cmdOK_Click()
Kill Dateiname
Unload Me
End Sub

Durch fleißiges googeln habe ich schon herausgefunden das dieses ein häufig auftretendes Problem ist. Jedoch habe ich bisher noch keine Lösung gefunden. Der Knackpunkt liegt bei dem Export der Dateien. Hier finde ich beim entsprechenden Pfad nur 0Kb große Dateien.
Auch das von Microsoft vorgeschlagene Ändern der Endung in BMP habe ich schon gemacht, leider auch ohne Erfolg.
Ich hoffe ihr könnt mir weiterhelfen um so eine dauerhafte Lösung zu erreichen
Gruß,
Steffen

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild in Userform einfügen - Laufzeitfehler 481
26.02.2014 18:14:07
fcs
Hallo Steffen,
den Zweck der Schleife mit der Abfrage der Userformnamen verstehe ich nicht.
Die funktioniert nur, wenn die Userform bereits geladen ist.
Ich würde das wie folgt lösen.
Mit dem SPeichern/Laden der BMP-Datei hatte ich jetzt keine Problem
Gruß
Franz
'Code in allgemeinem Modul
Option Explicit
Public Dateiname As String
Sub Bild_Anzeigen()
Dim Diagramm As Object
Set Diagramm = ActiveWorkbook.Worksheets("Startblatt").ChartObjects(1).Chart
Diagramm.Parent.Width = Ergebnisform.Image1.Width
Diagramm.Parent.Height = Ergebnisform.Image1.Height
Dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.bmp"
Diagramm.Export Filename:=Dateiname, FilterName:="bmp"
Ergebnisform.Image1.Picture = LoadPicture(Dateiname)
If Ergebnisform.Visible = False Then Ergebnisform.Show
End Sub
'Code unter Tabelle "Startblatt"
Private Sub Worksheet_Change(ByVal Target As Range)
Bild_Anzeigen
End Sub

Anzeige
AW: Bild in Userform einfügen - Laufzeitfehler 481
26.02.2014 20:37:17
Steffen
Hi vielen Dank für deine Antwort.
Das Userform "Ergenisform" wird sofort nach Beendigung des Userforms "Auditform" geöffnet. Daher wohl die Schleife, habe es jetzt mal zu deinem abgeändert. Aber es kommt immer noch der selbe Fehler.
Jedoch habe ich herausgefunden wie ich es wieder zum laufen bekomme. Ich versuche nun mal eine grobe Beschreibung:
Tritt der Fehler auf so gehe ich in das Startblatt und klicke einmal auf die Grafik. Danach kann ich die Prozedur erfolgreich starten und durchführen. Der Import und Export der Grafik erfolgt bestens.
Dies funktioniert bis zum nächsten Start der Excel Tabelle, dann tritt sofort wieder das selbe Problem mit dem Laufzeitfehler auf.
Im Moment bin ich ratlos, mir scheint es als ob die Grafik beim Versuch sie anzusprechen nicht aktiv wäre....
Hoffe ihr könnt mir weiterhelfen

Anzeige
AW: Bild in Userform einfügen - Laufzeitfehler 481
26.02.2014 21:54:31
fcs
Hallo Steffen,
ich tippe mal, dass da irgendwo in der Abfolge der Makros beim Öffnen der Datei/1. Userform ein Fehler auftritt, bei dem die Bild-Datei "verloren" geht oder unvollständig erstellt wird.
Das kann man aber nicht mehr auf Basis deiner Beschreibung klären. Da müsste man schon einmal die komplette Datei vor sich haben. ggf. sensible Daten durch Dummy-Daten ersetzen.
Gruß
Franz

AW: Bild in Userform einfügen - Laufzeitfehler 481
27.02.2014 09:13:20
Steffen
Hi,
anbei mal meine Datei. Habe einige sachen durch Dummys ersetzt, jedoch ist das Problem immer noch vorhanden.
Grober Ablauf ist der: In der Auditform werden die Fragen und Antworten eingegeben. Das Ergebnisform zeigt dann anschließend das Ergebnis an.
https://www.herber.de/bbs/user/89445.xlsm
Gruß,
Steffen

Anzeige
AW: Bild in Userform einfügen - Laufzeitfehler 481
27.02.2014 22:05:29
fcs
Hallo Stefan,
ich hab deine Datei mal getestet.
Beim Versuch per "Start" das Eingabeformular zu öffnen bekomme ich sofort die Meldung
"Fehler beim Kompilieren
Projekt oder Bibliothek"
Wenn ich das Makro abbreche und im VBA-Editor dann unter Extras--Verweise nachschau, dann wird eine Bibliothek als Nicht vorhanden angezeigt:
Userbild
Entferne ich das Häckchen (=Verweis deaktivieren) und bestätige ich dann mit OK, dann funktioniert die Makroausführung für beide Userforms. Auch nach Dateispeichern und Excel schließen und alles neu starten funktioniert die Datei.
Die Datei EAWFCTRL.DLL scheint irgendwie berühmt berüchtigt zu sein. Jedenfalls gibt es dazu etliches im WWW.
Ob die bei dir anders lautende Fehlermeldung damit auch zusammenhängt: ?
Gruß
Franz
Anzeige

346 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige