Keuzelijst

Status
Niet open voor verdere reacties.

Renevatio

Gebruiker
Lid geworden
17 dec 2006
Berichten
33
Hallo,

Ik heb in excel een reeks gegevens staan. Nu had ik graag ipv de standaar filter een klein vba toep gemaakt voor gemakkelijker te werken.

Ik zou graag twee comboboxen hebben waar als ik op klik de geg onder "codering" en "beschrijving algemeen" in mijn lijst kan uit selecteren.

De gegevens "detaillering" "SAPnr" "aantal" "prijs" die overeenkomen met de lijn uit mijn selectie zouden dan in de listbox moeten komen.

Weet iemand hier raad op.

Ik heb al een stukje code van de listbox gevonden maar weet niet goed hoe ik die selecties met de comboboxen kan doen.


rivate Sub UserForm_activate()

Dim MyList(500, 3) 'as array type
Dim R As Integer

Application.ShowToolTips = True
With ListBox1
.ColumnCount = 3
.ColumnWidths = 200
.Width = 230
.Height = 110
.ControlTipText = "Your selection"
End With

With ActiveSheet

'MyList (Row{0 to 9}, Column{0 to 2}) = the ranges given
For R = 0 To 509
MyList(R, 3) = .Range("C" & R + 500)
MyList(R, 4) = .Range("D" & R + 500)
MyList(R, 5) = .Range("E" & R + 500)
Next R
End With

ListBox1.List = MyList
 

Bijlagen

Dag Renevatio,

Probeer bijgaand Excel-bestand.

Nee, je bestand is te groot (ondanks Zip). Nu eerst de userform uit dit bestand overzetten.

Gegroet,

Axel.
 

Bijlagen

Axel bedoel je juist.
Jouw zip bestand is leeg.

Ik heb het mijne nog wat trachten te verkleinen.
 

Bijlagen

Dag Renovatio,

Mijn bestand lijkt leeg, maar bevat een userform. Deze kun je importeren in jouw Excel-file.

Gegroet,

Axel.
 
Axel,

Ik snap niet goed wat die userform doet.

Er komt nu F1 te staan in een cel.

Kan je het ff kort uitleggen


Bedankt
 
Dag Renevatio,

Ik heb je verhaal gelezen en geprobeerd daar een antwoord op te vinden door middel van het geleverde Userform. Met combobox 1 selecteerc je een groep en in de listbox worden de items van de groep getoond.
De tweede combobox heb ik toegevoegd omdat je twee comboboxen wilde, maar de taak van deze box ontgaat me.

Gegroet,

Axel.

P.S.
Je moet de Userform wel in jouw Excel bestand importeren, anders gebeurt er niets omdat in mijn Excel bestand geen gegevens staan..
 
Ik heb het gevonden Axell. Tis juist wat ik nodig had.
Hartelijk dank.

Alleen als ik op "automatische omschakelaars klik" krijg ik een foutmelding.
Heb je de box ingesteld t.e.m "ambimat"?

De subgroep die jij hebt gedefinieerd "algemene beschrijving" in mijn excel file zou eigelijk als tweede filter moeten dienen. Nu kan ik bv selecteren op "afnamepunten" en dan zou ik moeten kunnen filteren op "eindafname punten EM" of "RVS afname punten EE".

Groeten


Renevatio
 
Dag Renovatio,

Dat dacht ik ook, maar de logica ontging me.

Als je onderstaande regel in VulList1 wijzigt dan werkt het zoals je wilde:

If .Cells(i, 2).Value = Combo2.Text Then
Gegroet,

Axel.
 
Axel

Ik heb gedaan zoals je zei maar krijg nu een foutmelding dat het subscript niet meer binnen het bereik valt

Dien ik de oorspronkelijke code te laten staan en gewoon nieuwe bij typen?

With ActiveWorkbook.Sheets(1)
m = .Cells(1, 1).CurrentRegion.Rows.Count
n = -1
ReDim a(3, m)
For i = 2 To .Cells(1, 1).CurrentRegion.Rows.Count
If .Cells(i, 2).Value = Combo2.Text Then
n = n + 1
a(0, n) = .Cells(i, 3)
a(1, n) = .Cells(i, 4)
a(2, n) = .Cells(i, 5)
a(3, n) = .Cells(i, 6)

End If
Next
End With
ReDim Preserve a(3, n)
List1.Column() = a
List1.SetFocus
End Sub
 
Renevatio, plaats aub eens code tags. Dan wordt de code leesbaar. In VBA kan je beter ook je code doen inspringen, dan behoud jij en wij het overzicht. Ook in de eerste post van deze topic is het niet goed.
 
Sorry dat ik je blijf lastig vallen Axel maar het wil maar niet werken.

Ik heb jouw code eens gecopieerd en ingevoegd in mijn aangepast programma zodat je zefl kan testen.

Het probleem is er nog altijd met de tweede filter ofwel doe ik iets verkeerd misschien.


Groeten
 

Bijlagen

Perfect.

Bedankt Axel voor al de hulp.

Zoals je misschien hebt gezien heb ik een knop toegevoegd om de applicatie op te starten.

Nu vraag ik me af of je het ook zou kunnen oproepen zonder je op de knop moet duwen. Automatisch dus of dien je hiervoor het geheel in VB te zetten.


Groeten
 
Oke dat weet ik ook weeral :-)

Ik heb de code nog een beetje uitgebreid om het nog wat gebruiksvriendelijker te maken.

Op net heb ik iets gevonden waardoor als je dubbelklikt op een kolom in listbox "VulList1" de waarde in een cel naar keuze wordt geplaatst. In mijn geval dus de waardes onder "Detaillering" "SAP-nr" "Prijs" en "Aantal".


Het tweede stuk dient om een foto weer te geven als je in "Vullist1" een lijn aanduid.

Zoals gewoonlijk zitten er weer fouten in. Als je eens zo vriendelijk zou willen zijn om de code eens te doorlopen. Ik zit vooral vast met die variabelen toe te kennen.

Groeten
 

Bijlagen

Dag Renevatio,

Open de bijlage en zet – als er een illustratie beschikbaar is – de naam inclusief de extensie in kolom E.

In de code staat bovenaan Const Illustratiemap. Zet na het =-teken het pad van deze map.

Start dan het programma en klik in de lijst op een item.

Gegroet,

Axel.
 

Bijlagen

Hey axel,

Ik heb de naam en extensie toegevoegd.
In de code heb ik de schijf D opgegeven waar mijn vb tekening staat.

Tijdens het uitvoeren krijg ik echter een foutmelding.

Deze foutmelding is dezelfde als twee versies geleden zodus ik vermoet dat er iets scheelt aan de nieuwe code.


Groeten,
 

Bijlagen

Dag Renovatio,

Drie foutjes:
in de code: een 3 moest een 2 zijn en Illustratiemap = "D:\"
in de database: extensie werd omschreven als .jpeg, Moet echter identiek zijn aan de extensie van de naam: .jpg

Ik heb ook de rand van de Image afgehaald en de image op zoom gezet. Zo past de illustratie zich automatisch aan.

Zie bijlage.

Gegroet,

Axel.
 

Bijlagen

Prachtig.
Kan ik al mijn gevens en fotos beginnen in te voegen.

Toch handig zo slimme mensen op een forum :-)

Nog een laatste vraagje. Die code om als je dubbelklikt en de waardes worden in een cel ingevoerd, is dat doenbaar?

Ik zou natuurlijk ook ctrl-c en ctrl-v gebruiken maar dat werkt blijkbaar niet in zo een vba prog.

Nu wat mij vooral interessert is het SAP nr. Deze tool is namelijk de vervanging van een papieren versie en als we de SAP nr zouden kunnen aanduiden en copieren in SAP zou zeer handig zijn.

Ik weet niet of het met de code in de vorige versie doenbaar is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan