Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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

Combobox füllen von Tabelle

Combobox füllen von Tabelle
04.02.2017 11:37:04
Tabelle
Hallo liebes Team
Bin neu in diesem Forum und
habe ein Problem, bekomme es nicht hin!
Möchte in der Combobox die Namen von der Tabelle2 B1:B End(xlUp).Row angezeigt haben, damit ich die Bilder mit Namen auswählen kann (zB: Hund, Katze,Maus....).
Habe jetzt die laufenden Nummern in der Combobox: Picture1,2,3..., da funkt der Code!
Hier ein Auszug:
Private Sub ComboBox2_Change()
If ComboBox2.ListIndex > -1 Then
Tabelle2.Shapes(ComboBox2).CopyPicture xlScreen, xlBitmap
Show_Range Image2
Else
Image2.Picture = LoadPicture("")
End If
End Sub
Private Sub UserForm_Initialize()
Dim oSh As Shape
For Each oSh In Tabelle2.Shapes
If oSh.Type = msoPicture Then
ComboBox2.AddItem oSh.Name
End If
Next oSh
End Sub

Wer kann mir diesen Code umschreiben oder sagen was ich wo ändern muss.
Danke im Voraus

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 11:44:51
Tabelle

Option Explicit
Private Sub UserForm_Initialize()
Dim oSh As Shape
Dim LoLetzte As Long
Dim LoI As Long
With Tabelle2
LoLetzte = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, . _
Rows.Count)
For LoI = 1 To LoLetzte
ComboBox2.AddItem Cells(LoI, 2)
Next oSh
End With
End Sub


AW: Combobox füllen von Tabelle
04.02.2017 12:04:49
Tabelle
Hajo danke,dass du dich für mein Problem interesierst.
Code funkt nicht, blockt bei next oSh.
Bitte was muss ich jetzt ändern bei Sub Combobox2_Chance ändern.
AW: Combobox füllen von Tabelle
04.02.2017 12:10:17
Tabelle
next loi
Meine Antwort hat Dir wohl nicht gefallen, darum darauf keine Antwort.
Vielleicht Antwort Dir der auf dessen Beitrag Du geantwortet hast.
Gruß Hajo
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 12:18:36
Tabelle
Sorry, weis nicht was ich falsch gemacht habe.
Wie gesagt bin neu und unerfahren mit dem Umgang im Forum.
Sorry,Sorry,Sorry
AW: Combobox füllen von Tabelle
04.02.2017 12:39:14
Tabelle
Hallo
was steht denn in den Zellen der Spalte B?
stehen da Namen von Bildern oder sind da Bilder in Shapes?
du liest mit deinem Code scheinbar nur die Namen der Shapes ein
vielleicht ist das ein Weg?
Combobox2.AddItem oSh.Picture.Name
MfG Tom
AW: Combobox füllen von Tabelle
04.02.2017 12:50:29
Tabelle
Hallo
In Spalte B sind nur die Namen der Bilder.
Kann die Datei nicht Hochladen zu gross (600KB).
schreibe mir ein Mail, dann sende ich dir die Datei
Danke---feuerharry@gmx.at
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 12:53:29
Tabelle
Hallo
mach die Datei kleiner
es wird ja wohl reichen wenn da nur beispielhafte 3 Bilder drin sind
dann wird sie wohl so klein sein, dass du sie hier hochladen kannst
mir die Datei zu schicken ist nicht so sinnvoll
da ich ja nicht weiß ob ich dir überhaupt helfen kann
MfG Tom
AW: Combobox füllen von Tabelle
04.02.2017 12:59:05
Tabelle
Hallo
Danke einstweilen, mache sie kleiner und lade sie dann hoch.
Bis später
Danke nochmal
AW: Combobox füllen von Tabelle
04.02.2017 12:27:42
Tabelle
Hallo
@Hajo
diese Antwort
        For LoI = 1 To LoLetzte
ComboBox2.AddItem Cells(LoI, 2)
Next oSh
hat sicher niemandem gefallen
MfG Tom
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 17:06:59
Tabelle
Hallo
für deine Userform1 habe ich den Code hierhin gehend geändert
Private Sub UserForm_Initialize()
Dim oSh As Shape
Dim lngAnzahl As Long, a As Long
a = 1
With ComboBox1
.ColumnCount = 2
.ColumnWidths = "0,50"
For Each oSh In Tabelle2.Shapes
If oSh.Type = msoPicture Then
.AddItem oSh.Name
lngAnzahl = .ListCount
.List(lngAnzahl - 1, 1) = Cells(a, 2)
a = a + 1
End If
Next oSh
End With
End Sub
in deinem bisherigen Code werden nur die Namen der Grafik in die Combobox eingetragen
das wird auch beigehalten
zusätzlich werden pro Shape die Einträge aus Spalte B in eine jetzt 2spaltige Combobox
eingetragen, die Breite der ersten Combo-Spalte wird auf 0 gesetzt
und so werden dir nur die Namen aus Spalte B angezeigt
du brauchst an der Combo nichts ändern nur diesen Code ersetzen
MfG Tom
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 18:40:51
Tabelle
Hallo Crazy Tom
vielen, vielen lieben Dank, der Code funzt, genau so wollt ich es haben.
Noch eine Frage: Ist es möglich das ich die Bilder in der Tabelle mit 1cm höhe in die Zelle lege und in der Userform mit 4cm höhe sehe.
Sollte das nicht gehen, macht es nix.
Trotzdem noch einmal vielen, vielen lieben Dank
AW: Combobox füllen von Tabelle
04.02.2017 19:06:49
Tabelle
Hallo
im Eigenschaftenfenster von Image1 der Userform
PictureSizeMode= Stretch
AutoSize = False
MfG Tom
AW: Combobox füllen von Tabelle
04.02.2017 19:13:55
Tabelle
Hallo
Ja das funktioniert schon, nur ist das Bild dann sehr unscharf.
Könnte der Fehler muss in der Declar Fuktion (Modul2) liegen.
Probier es bitte aus.
LG Feuerharry
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 19:37:54
Tabelle
Hallo
das liegt an der Auflösung der Bilder
geht es wirklich um Sternzeichen oder war das nur ein Beispiel?
MfG Tom
AW: Combobox füllen von Tabelle
04.02.2017 19:52:59
Tabelle
Hy
Ist nur ein Beispiel. geht um jpg-Bilder.
Kann sie aber bei bedarf mit 4cm in der tabelle speichern. Nur wird sie sehr gross.
Sind ca, 30 Bilder.
Danke nochmals für die Anteilnahme.
LG feuerharry
AW: Combobox füllen von Tabelle
04.02.2017 19:58:45
Tabelle
Hallo
vielleicht ein anderer Weg?
in meinem Test habe ich auf dem Desktop einen Ordner mit den Bildern
die Namen der Bilder stehen in Spalte A von Tabellenblatt 1
auf der Userform ist eine Combobox1 und ein Image1
die Eigenschaft vom Image wie vorher beschrieben
dazu dann dieser Code in die Userform
Private Sub ComboBox1_Change()
Const strPfad = "C:\users\Tom\desktop\sternzeichen\"
Image1.Picture = LoadPicture(strPfad & ComboBox1.Text & ".jpg")
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
Dim lngLetzte As Long
With Worksheets("Tabelle1")
lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To lngLetzte
ComboBox1.AddItem .Cells(i, 1).Value
Next i
End With
End Sub
achte aber drauf dass die Namen in der Tabelle gleich den Bildernamen ist
MfG Tom
Anzeige
AW: Combobox füllen von Tabelle
04.02.2017 21:24:52
Tabelle
Hallo TOM
Danke, mit einen externen Ordner habe ich das ganze Programm fast fertig.
Aber es ist für meine Enkeltochter, die kann im Büro kein Makro starten daß auf einen anderen Ordner zugreift. Daher müssen die Bilder in der selben Datei sein.
Wenn du mir ein Mail sendest kann ich dir die Datei schicken.
LG feuerharry@gmx.at
AW: Combobox füllen von Tabelle
04.02.2017 20:08:47
Tabelle
Hallo
Danke, probiere es morgen aus und melde mich wieder.
Tschüss bis morgen und einen schönen Abend noch.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige