Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur Bilder Auswählen nicht die Combobox

Nur Bilder Auswählen nicht die Combobox
11.08.2021 16:28:34
oraculix
Hallo
Bis vor kurzem hat es noch tadellos funktioniert.
Aber jetzt zeigt er mir in Zelle A1 die Combobox statt dem Bild an.(In der Userform)
Excel erkennt in der Userform1 die Combobox aus der Tabelle als Bild und nicht das das Eigentliche Bild das er anzeigen sollte.
Es ist Ein Bild und eine Combobox in der Tabelle6 Zeile 1
Frage:
Was muß ich an dem Macro ändern das nur das Blid angezeigt wird und nicht die Combobox?

Private Sub ComboBox1_Change()
Dim objCell As Range
Dim lngRow As Long, lngColumn As Long
If ComboBox1.ListIndex >= 0 Then
Set objCell = Tabelle6.Rows(1).Find(What:=ComboBox1.Text, _
LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not objCell Is Nothing Then
lngColumn = objCell.Column
ListBox1.Clear
With Tabelle6
For lngRow = 2 To .Cells(.Rows.Count, lngColumn).End(xlUp).Row
ListBox1.AddItem .Cells(lngRow, lngColumn).Value
Next
End With
Set Image21.Picture = ShowPicture(Tabelle6, lngColumn)
Set objCell = Nothing
End If
End If
End Sub
Gruß
Oraculix

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 16:35:15
Nepumuk
Hallo,
lade bitte eine Beispielmappe hoch.
Gruß
Nepumuk
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 16:37:21
oraculix
Darf ich sie Dir senden ist unmöglich mit 300kb zu schaffen.
Danke
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 16:40:14
Nepumuk
Hallo,
klar.
Gruß
Nepumuk
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 17:00:47
Nepumuk
Hallo,
folgende Änderung:

Public Function ShowPicture( _
ByRef probjWorksheet As Worksheet, _
ByVal pvlngColumn As Long)
Static slngptrCopy As LongPtr
Dim objShape As Shape
If slngptrCopy  0 Then Call DeleteObject(slngptrCopy)
Call OpenClipboard(0)
Call EmptyClipboard
Call CloseClipboard
For Each objShape In probjWorksheet.Shapes
If objShape.TopLeftCell.Column = pvlngColumn Then
If objShape.Type = msoPicture Then Exit For
End If
Next
If Not objShape Is Nothing Then
On Error Resume Next
Do
Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlBitmap)
If Err.Number = 0 Then Exit Do
Call Err.Clear
Loop
On Error GoTo 0
Do
Set ShowPicture = PastePicture(slngptrCopy)
Loop While ShowPicture Is Nothing
End If
End Function
Gruß
Nepumuk
Anzeige
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 17:10:17
oraculix
Danke
Es gibt einen Fehler Sub oder Funktion nicht definiert
If slngptrCopy 0 Then Call DeleteObject(slngptrCopy)
Habe es in die Userform Eingefügt natürlich den ganzen Code.
Gruß
Oraculix
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 17:14:13
Nepumuk
Hallo,
du musst mit dem Code die Funktion im Modul6 ganz unten ersetzen.
Gruß
Nepumuk
AW: Danke Genial wie immer
11.08.2021 17:26:18
oraculix
Danke Genial wie immer!!!
Bin am Schlauch gestanden sorry.
Gruß
Oraculix
AW: Danke Genial wie immer
11.08.2021 19:19:51
Nepumuk
Hallo,
kleiner Tipp:

Private Sub Workbook_Open()
Application.DisplayAlerts = False
Dim objSpeech As Object
Set objSpeech = CreateObject(Class:="SAPI.SpVoice.1")
Set objSpeech.Voice = objSpeech.GetVoices.Item(0)
Call objSpeech.Speak("Welcome to the big cinema")
Set objSpeech = Nothing
End Sub
Gruß
Nepumuk ;-)
Anzeige
AW: Danke Genial wie immer
11.08.2021 20:17:00
oraculix
Danke hast recht hört sich besser an als vorher.
Könntest Du mir einen Code für die Userform1 noch schreiben das die Bilder auch eingeblendet werden wenn man man auf die Schauspielerfilme klickt? Das wäre noch das Tüpfelchen am i.
Gruss
Oraculix
AW: Danke Genial wie immer
11.08.2021 20:24:10
Nepumuk
Hallo,
wo, außer in der ComboBox, kann man auf Schauspieler klicken?
Gruß
Nepumuk
AW: Danke Genial wie immer
11.08.2021 20:49:42
oraculix
Hallo sorry hätte ich dazuschreiben sollen.
ListBox1 in userform1 werden Filme gezeigt von Schauspielern. Die Cover sollten in Image24 per Linksklick gezeigt werden. "D:\EMDB\HTML\ExcelCovers\"(Derzeit nur ca. die ersten 1000 Bilder umbenannt) von A- D
Gruß
Oraculix
Anzeige
AW: Danke Genial wie immer
11.08.2021 21:18:31
Nepumuk
Hallo,
im Modul des Userforms die Prozedur "ListBox1_Click" so ändern:

Private Sub ListBox1_Click()
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
Call StringToClipboard(ListBox1.Text)
If Dir$(PathName:=FOLDER_PATH & ListBox1.Text & ".jpg") = vbNullString Then
Set Image24.Picture = Nothing
Else
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & ListBox1.Text & ".jpg")
End If
End Sub
Gruß
Nepumuk
AW: Danke Genial wie immer
11.08.2021 21:29:01
oraculix
Ja Super Funktioniert Bilder werden eingefügt aber dann funktioniert das mit klick in die Zwischenablage nicht immer. Manchmal gehts manchmal ist nichts in der Zwischenablage

Private Sub StringToClipboard(strText As String)
Dim lngptrIdentifier As LongPtr, lngptrPointer As LongPtr
lngptrIdentifier = GlobalAlloc(GMEM_MOVEABLE, CLngPtr(Len(strText) + 1))
lngptrPointer = GlobalLock(lngptrIdentifier)
Call lstrcpy(ByVal lngptrPointer, strText)
Call GlobalUnlock(lngptrIdentifier)
Call OpenClipboard(CLngPtr(0))
Call EmptyClipboard
Call SetClipboardData(CF_TEXT, lngptrIdentifier)
Call CloseClipboard
Call GlobalFree(lngptrIdentifier)
End Sub

Anzeige
AW: Danke Genial wie immer
12.08.2021 07:53:35
Nepumuk
Hallo,
so besser?

Private Sub ListBox1_Click()
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
If Dir$(PathName:=FOLDER_PATH & ListBox1.Text & ".jpg") = vbNullString Then
Set Image24.Picture = Nothing
Else
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & ListBox1.Text & ".jpg")
End If
Call StringToClipboard(ListBox1.Text)
End Sub
Gruß
Nepumuk
AW: Danke Genial wie immer
12.08.2021 08:36:15
oraculix
Danke hab ich schon versucht hilft nichts.
Versuche Folgendes um das Problem zu erkennen.
1 Klick auf Listbox1
2 Füge aus der Zwischablage den Werte in Txt_Eingabe ein.
3 Klick auf Lst_Treffer
4 Klick nun wieder auf Listbox1
5 Füge aus der Zwischablage den Werte in Txt_Eingabe ein.
nach ein paar Versuchen Kopiert er das Ergebniss aber es dauert bzw. stürzt fast ab
Hoffe konnte es verständlich erklären.
Danke
Gruß
Oraculix
Anzeige
AW: Danke Genial wie immer
12.08.2021 08:54:06
Nepumuk
Hallo,
kann ich nicht nachvollziehen, das klappt bei mir immer. Dann fällt mir nichts mehr dazu ein.
Gruß
Nepumuk
AW: Danke Genial wie immer
12.08.2021 08:58:19
oraculix
Danke ist ja nicht so schlimm der Fehler tritt ja nur au wenn man abwechselnd Bilder aus der suche
anklickt und dann unten Schauspieler Filme anklickt-Egal man kann damit leben.
Gruß
Oraculix
AW: Nur Bilder Auswählen nicht die Combobox
11.08.2021 17:05:34
oraculix
Habe Dir die Bilder dazu gesendet allerdings müssten die im Verzeichnis
D:/EMDB/HTML/index.html abgelegt werden damit Du sie siehst oder das Verzeichnis im VBA Code anpassen.
Danke
Gruss
Oraculix
AW: Sorry Denkfehler
11.08.2021 17:18:21
oraculix
Sorry hatte einen Denkfehler das Verzeichnis heist ja jetzt
D:\EMDB\HTML\ExcelCovers
Private Sub Lst_Treffer_Click()
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
Gruß
Oraculix
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige