Problemen met gebruik ComboBox

  • Onderwerp starter Onderwerp starter aebs
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

aebs

Gebruiker
Lid geworden
12 dec 2009
Berichten
10
Goede dag iedereen, misschien denk ik wel verkeerd maar ik hoop dat iemand me kan helpen. Je kunt een listbox vullen als een Matrix, dus met een x en y as. Na selectie kun je de losse "elementen" oppakken cq verwerken. Nu hebben de ListBox en de Combobox veel overeenkomsten begrijp ik uit de help bij VBA.
Nu wil ik dus mbv een comboBox hetzelfde, Ik plaats de inhoud van een Matrix in de ComboBox, dit werkt prima. Alleen wanneer ik nu na selectie van een ROW de losse "cellen" wil manipuleren lukt dit niet. Wie kan me helpen of kun je een ComboBox alleen maar als een 1 dimensionale matrix gebruiken?

:o Alvast bedankt voor elke suggestie.

Andries
 
Heb je misschien een voorbeeld bestandje, waaruit duidelijk wordt wat je precies wil.
Zoals welke "losse cellen" en op welke wijze deze manipuleren?
 
Met ComboBox1.List(4,7) kun je ieder element in de matrix die aan de combobox is toegewezen benaderen.

uitgaande van een 'geselekteerde' 'rij':

Code:
c4=ComboBox1.List(Combobox1.Listindex,7)
 
Heb je misschien een voorbeeld bestandje, waaruit duidelijk wordt wat je precies wil.
Zoals welke "losse cellen" en op welke wijze deze manipuleren?

Jelte,

Ik heb niet direct een bestandje maar hierbij wel een stukje koding en hopelijk een goed uitgewerkt voorbeeld van wat ik bedoel.

Code:
i = 0

Do While Not EOF(1)    ' Loop until end of file.

   Line Input #1, Tabel(i, 0)
   Line Input #1, Tabel(i, 1)
   Line Input #1, Tabel(i, 2)
   ComboBox1.AddItem Tabel(i, 0)
   ComboBox1.List(i, 1) = Tabel(i, 1)
   ComboBox1.List(i, 2) = Tabel(i, 2)


i = i + 1

Loop
Close

Ik lees een bestandje in met bv:
Regel 1
Regel 2
Regel 3
Regel 4
Regel 5
Regel 6
Regel 7
Regel 8
Regel 9
Regel 10
Regel 11
Regel 12
Regel 13
Regel 14
Regel 15
Regel 16
Regel 17
Regel 18
Regel 19
Regel 20
Regel 21


De Box is opgebouwd als :
Regel 1 Regel 2 Regel 3
Regel 4 Regel 5 Regel 6
Regel 7 Regel 8 Regel 9
Regel 10 Regel 11 Regel 12
Regel 13 Regel 14 Regel 15
Regel 16 Regel 17 Regel 18
Regel 19 Regel 20 Regel 21


Wanneer nu de regel met de inhoud:
Regel 10 Regel 11 Regel 12

Is gekozen in de Combobox dan wil ik de losse teksten kunnen pakken.
In een listbox werkt het wel alleen daar kun je niets intikken en dan
duurt het doorlopen van de lijst dus langer. Voor practisch gebruik denk aan bv Naam, Functie en Afdeling
Of naam leerling, type sport en naam trainer.
 
Laatst bewerkt door een moderator:
Met ComboBox1.List(4,7) kun je ieder element in de matrix die aan de combobox is toegewezen benaderen.

uitgaande van een 'geselekteerde' 'rij':

Code:
c4=ComboBox1.List(Combobox1.Listindex,7)

SNB,

Zoiets had ik ook al in elkaar gedraaid maar er gaat klaarblijkelijk toch iets fout want ik krijg de foutmelding: Foutmelding 381.

kan de eigenschap List niet verkrijgen. Ongeldige index voor eigenschappenmatrix.

Thanks Andries
 
welke option base gebruik je voor 'Tabel' ?

En overigens

Code:
  open "ccc" for input as #1
    sq=split(Input(LOF(1), #1))
  close #1
  
  dim tabel (ubound(sq),3)
  For j=0 to ubound(sq) step 3
    For jj=1 to 3
      Tabel(j\3,jj)=sq(j)
    Net
  Next
  Combobox1.list=Tabel
 
Laatst bewerkt:
welke option base gebruik je voor 'Tabel' ?

En overigens

Code:
  open "ccc" for input as #1
    sq=split(Input(LOF(1), #1))
  close #1
  
  dim tabel (ubound(sq),3)
  For j=0 to ubound(sq) step 3
    For jj=1 to 3
      Tabel(j\3,jj)=sq(j)
    Net
  Next
  Combobox1.list=Tabel


SNB

Mijn declaratie is

Code:
Dim Tabel(100, 3) As String
ComboBox1.ColumnCount = 3

Zoals je ziet krijg ik de info per regel aangeleverd dus een split kan ik niet gebruiken dacht ik. Het geheel draait in Word 2003 VBA.

Andries
 
Laatst bewerkt:
Combobox1.columncount zou ik even verwijderen.

Krijg je de gegevens als een txt, csv-bestand aangeleverd ?
Regel voor regel inlezen is onnodig moeizaam.
Een tekstreeks kan altijd met split benaderd worden.
 
Hallo Iedereen,

Bedankt voor alle suggesties. De 100% oplossing zat er niet bij maar werd wel op het goede spoor gezet door een code suggestie namelijk :

Combobox1.list=Tabel

Met wat andere aanpassingen was dit een onderdeel van de oplossing van mijn probleem. De meeste suggesties kwamen jammer genoeg uit de Excel hoek terwijl ik zelf in de Word hoek bezig ben.


Mvg :cool: Andries
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan