Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bild aus Tabelle einem Image in einer Userform zuw

Bild aus Tabelle einem Image in einer Userform zuw
28.09.2008 14:40:18
Polarfuchs
Hallo Ihr Checker,
in einer Arbeitsmappe habe ich ein Tabellenblatt mit Bildern. Wie kann ich ein bestimmtes Bild, die haben die Benennungen "Vorname_Nachname", einem Image einer UserForm zuweisen? Mit "LoadPicture" habe ich es schon versucht. Da bekomme ich die Fehlermeldung "Typen unverträglich".
Für einen Tipp wäre ich sehr dankbar.
Ciao Polarfuchs :-))
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus Tabelle einem Image in einer Userform zuw
28.09.2008 18:47:00
Original
Hi,
wenn du die Bilder, statt im tabellenblatt direkt, in Images aus der Toolbox platzierst, kannst
du die Bilder mit einer einfachen Zuweisung ins Userform übernehmen.
mfg Kurt
Das weiß ich, aber das hilft mir nicht
28.09.2008 20:19:11
Polarfuchs
Hallo Kurt,
das weiß ich, aber ich habe die Bilder schon in den Tabellenblättern und da müssen die auch bleiben. Ich wollte nur noch ein Zusatzmodul programmieren, und da wollte ich das Bild der jeweiligen Person einfügen.
Danke trotzdem
Ciao Polarfuchs :-))
Anzeige
AW: Das weiß ich, aber das hilft mir nicht
28.09.2008 20:46:23
Original
Hi,
"...aber ich habe die Bilder schon in den Tabellenblättern und da müssen die auch bleiben..."
Können sie doch, nur eben in Images statt im Zellbereich direkt.
Wenn du das nicht auf die reihe bekommst, bleibt halt entweder in Diagramm kopieren,
exportieren und dann mit LoadPicture laden oder über die Zwischenablage mit API.
Zu beidem findest du Beispiele im Archiv.
mfg Kurt
Anzeige
Danke - aber ich krieg es nicht hin
29.09.2008 15:55:23
Polarfuchs
Hallo Kurt,
danke für den Tipp, leider bekomme ich es mit API nicht hin. Im Forum habe ich nichts gefunden, was mir weiterhilft.
Die Bilder sind schon als Images in den Tabellenblättern aber ich kann sie nicht kopieren.
Ciao Polarfuchs
AW: Danke - aber ich krieg es nicht hin
29.09.2008 18:42:00
Original
Hi,
wenn die Bilder wirklich in Images sind, kannst du sie ganz einfach einem Image im Userform zuweisen:
Userform1.Image1.Picture = Tabelle1.Image1.Picture
Wobei Tabelle1 der Codename des Blatts ist und die namen natürlich angepasst werden müssen.
mfg Kurt
Anzeige
Das geht leider auch nicht
29.09.2008 19:31:57
Polarfuchs
Hallo Kurt,
danke für den erneuten Tipp. Mein Problem ist, dass ich nicht genau weiß, welche Nummer mein Image hat, das ich gerade in das Image des UserForms kopieren will. Die Bilder werden von der Festplatte nach Namen in der Tabelle eingelesen und dadurch automatisch weiter nummeriert. Ich habe es so probiert:
"UserForm13.Image1.Picture = Sheets("BW").Shapes.Picture(Nachname & "_" & VorName)"
Da bekomme ich den Fehler "Objekt unterstützt Eigenschaft oder Methode nicht".
Ciao Polarfuchs :-))
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bild aus Tabelle in eine UserForm einfügen


Schritt-für-Schritt-Anleitung

  1. Bilder in der Tabelle haben: Stelle sicher, dass deine Bilder in einer Excel-Tabelle eingefügt sind. Die Bilder sollten den Benennungen "Vorname_Nachname" folgen.

  2. UserForm erstellen: Öffne den VBA-Editor (ALT + F11) und erstelle eine neue UserForm. Füge ein Image-Steuerelement hinzu, um das Bild anzuzeigen.

  3. Bild zuweisen: Verwende den folgenden Code, um das Bild aus der Tabelle in das UserForm-Image zu laden:

    UserForm1.Image1.Picture = Sheets("Tabelle1").Shapes("Vorname_Nachname").Picture

    Ersetze "Tabelle1" mit dem tatsächlichen Namen deines Tabellenblattes und "Vorname_Nachname" mit dem entsprechenden Bildnamen.

  4. UserForm anzeigen: Verwende den Befehl UserForm1.Show, um die UserForm anzuzeigen.


Häufige Fehler und Lösungen

  • Fehlermeldung "Typen unverträglich": Diese Fehlermeldung tritt auf, wenn du versuchst, einen ungültigen Datentyp zuzuweisen. Stelle sicher, dass das Bild in der Tabelle korrekt benannt ist und das Steuerelement vom Typ Image ist.

  • Fehler "Objekt unterstützt Eigenschaft oder Methode nicht": Dieser Hinweis bedeutet oft, dass der Name des Shapes nicht korrekt ist. Überprüfe, ob der Name des Bildes in der Tabelle exakt mit dem im Code verwendeten Namen übereinstimmt.


Alternative Methoden

  • API-Methode: Wenn du Schwierigkeiten mit der direkten Zuweisung hast, kannst du die Clipboard-API verwenden, um das Bild zu kopieren und dann in das UserForm-Image einzufügen. Hier ist ein einfaches Beispiel:

    ' Bild in die Zwischenablage kopieren
    Sheets("Tabelle1").Shapes("Vorname_Nachname").Copy
    
    ' Bild aus der Zwischenablage einfügen
    UserForm1.Image1.Picture = LoadPicture(Clipboard.GetData(vbCFBitmap))
  • Export und LoadPicture: Du kannst das Bild auch zuerst exportieren und dann mit LoadPicture laden. Beispiel:

    Sheets("Tabelle1").Shapes("Vorname_Nachname").CopyPicture
    ' Füge hier den Code zum Speichern und Laden des Bildes ein

Praktische Beispiele

Wenn du deine Excel-Datenbank mit Bildern hast, kannst du sie dynamisch in eine UserForm laden. Hier ist ein Beispiel, wie du das Bild einer Person basierend auf ihrem Namen in die UserForm einfügst:

Sub BildEinfügen()
    Dim Vorname As String
    Dim Nachname As String
    Vorname = "Max"
    Nachname = "Müller"

    UserForm1.Image1.Picture = Sheets("Tabelle1").Shapes(Nachname & "_" & Vorname).Picture
    UserForm1.Show
End Sub

Ersetze "Max" und "Müller" mit den gewünschten Vornamen und Nachnamen.


Tipps für Profis

  • Benennungen konsistent halten: Achte darauf, dass die Benennungen deiner Bilder in der Tabelle einheitlich sind. Das erleichtert die Programmierung und reduziert Fehlerquellen.

  • Fehlerbehandlung einbauen: Implementiere einfache Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Programm auch bei unerwarteten Situationen stabil bleibt.

  • Performance optimieren: Wenn du viele Bilder hast, überlege, wie du die Ladezeiten optimieren kannst, indem du nur die Bilder lädst, die du tatsächlich benötigst.


FAQ: Häufige Fragen

1. Kann ich Bilder aus mehreren Tabellenblättern verwenden?
Ja, du kannst Bilder aus verschiedenen Tabellenblättern in der gleichen UserForm verwenden. Stelle sicher, dass du den korrekten Blattnamen im Code angibst.

2. Was ist der Unterschied zwischen LoadPicture und direkter Zuweisung?
LoadPicture wird verwendet, um Bilddateien von der Festplatte zu laden, während die direkte Zuweisung es dir ermöglicht, Bilder, die bereits in der Excel-Tabelle sind, einfach zu übertragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige