Ich möchte ein Bild in die User Form laden, die jedes mal das Bild des aktuellen User zeigt. Wie bringe ich das hin?
Bilder sind auf Festplatte in seperatem Verzeichnis gespeichert.
Wäre super wenn das jemand weiss.
Private Sub UserForm_Initialize()
Dim strPicFile As String
Select Case Environ("Username")
Case "Meier": strPicFile = "HansMeier.jpg"
Case "Müller": strPicFile = "AnnaMeier.jpg"
Case Else
MsgBox "kein Bild vorhanden."
Exit Sub
End Select
UserForm1.Image1.Picture = LoadPicture("C:\Pfad\" & strPicFile)
End Sub
cuPrivate Sub UserForm_Initialize()
Dim tblDaten As Worksheet
Set tblDaten = Worksheets("Adressliste")
'Tiel der User Form
frm_Daten.Caption = Sheets("Adressliste").Cells(1, 1).Value
'Beschriftungen für die Bezeichnungsfelder aus Tabelle holen
With frm_Daten
.Label1.Caption = tblDaten.Cells(1, 1).Value
.Label2.Caption = tblDaten.Cells(1, 2).Value
.Label3.Caption = tblDaten.Cells(1, 3).Value
.Label4.Caption = tblDaten.Cells(1, 4).Value
.ListBox1.ColumnCount = 6
.ListBox1.ColumnWidths = "50;250;250;250"
.TextBox1.SetFocus
End With
frm_Daten.Label42.Caption = frm_Daten.Label1.Caption
frm_Daten.Label43.Caption = frm_Daten.Label2.Caption
frm_Daten.Label44.Caption = frm_Daten.Label3.Caption
frm_Daten.Label45.Caption = frm_Daten.Label4.Caption
Const FOLDER_PATH As String = "Pfad\" 'Pfad zu den Bildern - anpassen !!!
Dim strPicturePath As String
strPicturePath = Dir$(FOLDER_PATH & Environ$("USERNAME") & ".jpg")
If strPicturePath = vbNullString Then
Call MsgBox("Kein Bild vorhanden.", vbExclamation, "Hinweis")
Else
Set Image2.Picture = LoadPicture(FOLDER_PATH & strPicFile)
End If
' Dieser Teil dient dazu, dass Textbox6 aktiv wird beim öffnen der UserForm
TextBox6.SetFocus
End Sub
Leider startet die frm_Daten nicht mehr kommt zu Fehlermeldung. Um ein Bild in eine Userform einzufügen, kannst du folgende Schritte befolgen:
Öffne den VBA-Editor in Excel. Das kannst du tun, indem du die Tastenkombination ALT + F11
drückst.
Erstelle eine neue Userform: Klicke im Projekt-Explorer mit der rechten Maustaste auf dein Projekt, wähle Einfügen
und dann UserForm
.
Füge ein Bildsteuerelement hinzu: Wähle das Bildsteuerelement aus der Toolbox aus und ziehe es auf die Userform.
VBA-Code hinzufügen: Klicke mit der rechten Maustaste auf die Userform und wähle Code anzeigen
. Füge den folgenden Code in das UserForm_Initialize
-Ereignis ein:
Private Sub UserForm_Initialize()
Const FOLDER_PATH As String = "C:\Pfad\" 'Pfad zu den Bildern - anpassen !!!
Dim strPicFile As String
strPicFile = Environ("USERNAME") & ".jpg" 'Dateinamen basierend auf dem Windows-Benutzernamen
If Dir(FOLDER_PATH & strPicFile) = "" Then
MsgBox "Kein Bild vorhanden."
Else
Image1.Picture = LoadPicture(FOLDER_PATH & strPicFile)
End If
End Sub
Passe den Pfad an: Stelle sicher, dass der Pfad zu den Bildern korrekt ist und die Bilder den Benutzernamen als Dateinamen haben.
Fehler: "Kein Bild vorhanden."
Fehler: UserForm startet nicht
UserForm_Initialize
-Ereignis korrekt eingefügt wurde. Überprüfe auch, ob es andere Fehler im Code gibt, die das Laden der Userform verhindern könnten.Fehler: Bild wird nicht angezeigt
Image1
) und dass die Dateiendung im Code korrekt angegeben ist.Wenn du die Methode mit dem Environ("USERNAME")
nicht nutzen möchtest, kannst du auch eine separate Übersetzungstabelle erstellen, in der die Benutzernamen den Bilddateinamen zugeordnet werden. Hier ein Beispiel:
Private Sub UserForm_Initialize()
Dim strPicFile As String
Select Case Environ("USERNAME")
Case "Meier": strPicFile = "HansMeier.jpg"
Case "Müller": strPicFile = "AnnaMüller.jpg"
Case Else: strPicFile = "default.jpg" 'Ein Standardbild
End Select
Image1.Picture = LoadPicture("C:\Pfad\" & strPicFile)
End Sub
Hier sind einige Beispiele, wie du das Bild in der Userform erfolgreich einfügen kannst:
Ein Bild basierend auf dem Windows-Benutzernamen:
Image1.Picture = LoadPicture("C:\Bilder\" & Environ("USERNAME") & ".jpg")
Ein Bild aus einer festgelegten Liste:
Select Case Environ("USERNAME")
Case "Max": Image1.Picture = LoadPicture("C:\Bilder\Max.jpg")
Case "Lisa": Image1.Picture = LoadPicture("C:\Bilder\Lisa.jpg")
End Select
Testen des Bildpfads: Verwende eine MsgBox
, um den vollständigen Pfad des Bildes auszugeben, um sicherzustellen, dass der Pfad korrekt ist.
MsgBox "Bildpfad: " & FOLDER_PATH & Environ("USERNAME") & ".jpg"
Error Handling: Füge Fehlerbehandlungsroutinen hinzu, um spezifische Fehlermeldungen zu geben, falls etwas schiefgeht:
On Error GoTo ErrorHandler
' Dein Code hier
Exit Sub
ErrorHandler:
MsgBox "Fehler: " & Err.Description
1. Wie kann ich sicherstellen, dass der Benutzer kein Bild möchte? Du kannst einfach eine Bedingung im Code hinzufügen, die prüft, ob das Bild existiert, bevor du versuchst, es zu laden. Zum Beispiel:
If Dir(FOLDER_PATH & strPicFile) <> "" Then
Image1.Picture = LoadPicture(FOLDER_PATH & strPicFile)
End If
2. Was mache ich, wenn der Pfad zu den Bildern nicht funktioniert? Stelle sicher, dass der Pfad korrekt ist. Du kannst auch den Pfad aus der Adressleiste des Windows-Explorers kopieren und den letzten Backslash nicht vergessen.
3. Wie kann ich das Bild in einer anderen Userform anzeigen? Stelle sicher, dass du den richtigen Namen für das Bildsteuerelement in der entsprechenden Userform verwendest und den Code entsprechend anpasst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen