Thema Datum  Von Nutzer Rating
Antwort
24.08.2021 16:49:48 Jonas
NotSolved
24.08.2021 20:40:28 Ulrich
NotSolved
25.08.2021 10:33:47 Gast811
NotSolved
Blau Viele Bilder in Tabellenblatt, eines in Userform anzeigen
25.08.2021 16:13:25 Ulrich
NotSolved
25.08.2021 16:35:53 Ulrich
NotSolved
25.08.2021 10:40:42 Gast65304
NotSolved
25.08.2021 10:53:55 Gast67967
NotSolved
25.08.2021 12:04:05 Jonas
NotSolved

Ansicht des Beitrags:
Von:
Ulrich
Datum:
25.08.2021 16:13:25
Views:
461
Rating: Antwort:
  Ja
Thema:
Viele Bilder in Tabellenblatt, eines in Userform anzeigen

Hallo,

ich verstehe dich so, dass du "alles in einer Exceldatei" haben möchtest. Natürlich kannst du diese ~80 Bilder in ein Tabellenblatt ablegen und von dort ein einzelnes in einer Userform anzeigen. Du musst dich einfach ein bischen organisieren. Jeh nach Datenmenge der Bilder kann die Datei dadurch natürlich größer werden...

Ich würde dafür ein neues Tabellenblatt anlegen und in Spalte A die Pfade+Dateinamen zu den Bildern eintragen (von Hand, mit VBA, ....) und in Spalte B den Bildern einen sinnvollen Namen geben. Dieser Name muss eindeutig sein. Jetzt kannst du mit VBA die Bilder in das Tabellenblatt laden und ihnen ihren Namen aus Spalte B geben:

Sub alle_bilder_in_Tabellenblatt()
Dim Ws As Worksheet, pic
Dim i As Long, pfad As String
With ActiveSheet                                        'anpassen (Codename des Tabellenblattes wäre sinnvoll)
    For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row   'Schleife über Zeile 2 bis ...
        pfad = .Cells(i, 1)                             'Pfad + Dateiname
        Set pic = .Pictures.Insert(pfad)                'Bild in Tabellenblatt ablegen
        pic.Name = .Cells(i, 2)                         'dem Bild seinen _eindeutigen_ Namen geben
        pic.Top = .Cells(i, 1).Top                      'platzieren
        pic.Left = .Cells(i, 3).Left                    'platzieren
        pic.Height = .Rows(i & ":" & i + 3).Height      'skalieren über die Höhe (wäre auch mit width möglich)
    Next
End With
End Sub

Damit hast du bereits alle Bilder im Tabellenblatt und sie haben einen klaren Namen, über den du sie ansprechen kannst (der aus Spalte B).

Mit VBA greifst du nun auf das Bild im Tabellenblatt wie folgt zu:

msgbox activesheet.pictures(range("B2").Value).name & vblf & _
        activesheet.pictures(range("B2").Value).width

oder eben auch:

UserForm1.Image1.Picture = Tabelle1.pictures("derNameDeinesBildes")

 

Kommst du so weiter?

Grüße, Ulrich


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.08.2021 16:49:48 Jonas
NotSolved
24.08.2021 20:40:28 Ulrich
NotSolved
25.08.2021 10:33:47 Gast811
NotSolved
Blau Viele Bilder in Tabellenblatt, eines in Userform anzeigen
25.08.2021 16:13:25 Ulrich
NotSolved
25.08.2021 16:35:53 Ulrich
NotSolved
25.08.2021 10:40:42 Gast65304
NotSolved
25.08.2021 10:53:55 Gast67967
NotSolved
25.08.2021 12:04:05 Jonas
NotSolved