Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  mehrspaltige ComboBox füllen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   mehrspaltige ComboBox füllen (283 mal gelesen)
GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 03. Feb. 2020 15:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Allerseits!
Ich habe das Problem auf einem Tabellenblatt ein ActiveX-Steuerelement, genauer eine Combobox zu platzieren und zu befüllen. Bei einer einspaltigen Box klappt das. Zum Beispiel ComBoLeitwerte.AddItem (…)  Ich will aber eine 2. Spalte befüllen. Da stehe ich auf dem Schlauch. Die MS-Hilfe brachte mich da auch nicht weiter. Übrigens ich nutze Excel 2019. Kann mir da bitte einer auf die Sprünge helfen?

MfG

Günter

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 696
Registriert: 18.05.2005

SolidWorks 2018 x64 SP4.0
Dell T3600 Workstation
Intel XENON 6x3.2 GHz
NVIDIA Quadro 4000 2 GB
16GB RAM
2x Dell U2412M, 24" TFT
Windows 7 Professional x64 SP1
Microsoft Office Pro 2010 SP2
Kaspersky Anti-Virus 10.2.4.674
Microsoft VB 2010 Express
SpacePilot von 3Dconnexion

erstellt am: 03. Feb. 2020 16:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich

Hallo Günter
Dazu benötigst du einen zweidimensionalen Array.

Zum befüllen

Code:
ComboBox1.ColumnCount = 2

Dim Filme(4, 1) As String

Filme(0, 0) = "Herr der Ringe"
Filme(1, 0) = "Speed"
Filme(2, 0) = "Krieg der Sterne"
Filme(3, 0) = "Der Pate"
Filme(4, 0) = "Pulp Fiction"

Filme(0, 1) = "Abenteuer"
Filme(1, 1) = "Action"
Filme(2, 1) = "Science-Fiction"
Filme(3, 1) = "Thriller"
Filme(4, 1) = "Drama"

ComboBox1.List = Filme


Zum auslesen

Code:
MsgBox "Du hast " & ComboBox1.Value & " ausgewählt"

On Error Resume Next
MsgBox "Du magst wohl " & ComboBox1.Column(1) & "-Filme"



Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 04. Feb. 2020 08:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Andreas,
danke für den Tipp. Das hat mir weiter geholfen. Das Problem konnte ich nun lösen.

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 389
Registriert: 11.08.2007

erstellt am: 10. Feb. 2020 09:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich

Hi Günter,

das geht auch mit AddItem - nach diesem Prinzip:

Code:
Dim intZaehler1 As Integer
Dim intZaehler2 As Integer
intZaehler2 = 10
For intZaehler1 = 1 To 10
    ActiveSheet.ComboBox1.AddItem intZaehler1
    ActiveSheet.ComboBox1.List(ActiveSheet.ComboBox1.ListCount - 1, 1) = intZaehler2
    intZaehler2 = intZaehler2 - 1
Next intZaehler1

Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 12. Feb. 2020 07:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Karin,
ich habe Deinen Code in einer Exceltabelle ausprobiert. Bei mir wird aber immer nur eine Spalte ausgefüllt. Die 2. Spalte mit den runtergezählten Integerwerten ist in der Combobox nicht enthalten. Das funktioniert bei mir nur mit der Version von Henry V.  Ich verwendete Excel 2019.

Gruß Günter 

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 389
Registriert: 11.08.2007

erstellt am: 12. Feb. 2020 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich

Beitrag irgendwie doppelt vorhanden - deshalb gelöscht


Bis später,
Karin

[Diese Nachricht wurde von Beverly am 12. Feb. 2020 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 389
Registriert: 11.08.2007

erstellt am: 12. Feb. 2020 08:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich

Hi Günter,

das liegt einfach daran, dass deine ComboBox offensichtlich nur 1 Spalte hat - ändere unter den Eigenschaften ColumnCount von 1 auf 2, dan siehst du auch mit meinem Code 2 Spalten.

Oder du ergänzt am Codeanfang die Zeile:

Code:
    ActiveSheet.ComboBox1.ColumnCount = 2


dann wird dies codemäßig (wie bei Andreas) realisiert. Das kann man so machen, muss man aber nicht, da sich die Spaltenanzahl ja nicht ändert und man sie deshalb eben auch fix von Hand einstellen kann.

Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 12. Feb. 2020 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Karin,
hier mal mein Code mit dem ich das probiert habe. Funktioniert aber nicht. Im Code-Schnipsel sind beide Varianten enthalten. Deshalb die Sprungmarke.

Gruß Günter

Sub Erprobung_Karin()
Dim intZaehler1 As Integer
Dim intZaehler2 As Integer
intZaehler2 = 10
Dim Feld(10, 1) As String

MsgBox ActiveSheet.Name
ActiveSheet.combobox1.Clear
'GoTo F1
ActiveSheet.combobox1.ColumnCount = 2
For intZaehler1 = 1 To 10
  Feld(intZaehler1 - 1, 0) = CStr(intZaehler1)
  Feld(intZaehler1 - 1, 1) = CStr(intZaehler2 - intZaehler1)
Next intZaehler1

ActiveSheet.combobox1.List = Feld
Exit Sub
F1:
ActiveSheet.combobox1.ColumnCount = 2
For intZaehler1 = 1 To 10
    ActiveSheet.combobox1.AddItem intZaehler1
    ActiveSheet.combobox1.List(ActiveSheet.combobox1.ListCount - 1, 2) = intZaehler2
    intZaehler2 = intZaehler2 - 1
Next intZaehler1
End Sub

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 389
Registriert: 11.08.2007

erstellt am: 12. Feb. 2020 11:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich


combobox_2spaltig.txt

 
Hi Günter,

dann lade doch mal deine Mappe hoch - ich kann das Problem nämlich in meiner Mappe nicht nachvollziehen. Ich habe meine Mappe mal angehängt (Achtung, in .xlsm umbenennen nach Download!).

Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 12. Feb. 2020 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Mappe1.txt

 
Hallo,
anbei meine Mappe mit dem Makro als txt getarnt. Komisch bei mir klappte es jetzt auch. Ich kann aber nicht nachvollziehen, warum es vorher nicht klappte. Da hatte ich aber noch ein anderes VBA-Projekt im Excel offen. Die Verbindung zwischen dem VBA-Modul und dem aktiven Blatt muß ja aber gestimmt haben, denn die Kombobox wurde ja "richtig" gefüllt. Na ja zur Hälfte gefüllt.

Gruß Günter

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 389
Registriert: 11.08.2007

erstellt am: 12. Feb. 2020 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GüSo 10 Unities + Antwort hilfreich

Hi Günter,

dein Code ist falsch - vergleiche mal deine Zeile:

Code:
ActiveSheet.ComboBox1.List(ActiveSheet.ComboBox1.ListCount - 1, 2) = intZaehler2

mit der entsprechenden Zeile bei mir:

Code:
ActiveSheet.ComboBox1.List(ActiveSheet.ComboBox1.ListCount - 1, 1) = intZaehler2

Die Spaltenzählung beginnt nämlich bei 0 und nicht bei 1 - bei deinem Code füllst du also die nicht vorhandene 3. Spalte anstelle der 2. Spalte. 

Bis später,
Karin

[Diese Nachricht wurde von Beverly am 12. Feb. 2020 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GüSo
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von GüSo an!   Senden Sie eine Private Message an GüSo  Schreiben Sie einen Gästebucheintrag für GüSo

Beiträge: 122
Registriert: 22.01.2009

Windows 7 Professional SP1, AutoCAD 2011, Office 2013
Windows 10, Office2019

erstellt am: 13. Feb. 2020 09:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Karin,

kleine Ursache große Wirkung und vorallem Konzentration und Aufmerksamkeit lassen sich nicht erzwingen. Danke für Deine Hilfe und Korrekturlesen.

Gruß Günter

------------------
MfG

Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz