• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Uitdaging

Status
Niet open voor verdere reacties.

tomnl

Gebruiker
Lid geworden
6 okt 2006
Berichten
8
Beste mensen,

Binnen Excel ben ik bekend met veel formules, nu sta ik echter voor een opgave waar ik niet zo goed mee weet hoe ik dat moet aanpakken.

Het volgende zou ik willen maken:
Een exceldocument dat opent met een formulier. Dit formulier geeft de gebruiker de mogelijkheid om bepaalde velden te vullen. Daaronder een knop opslaan. Deze zorgt ervoor dat de waarden worden doorgeleid naar een onderliggend werkblad. Daarna dient het werkblad opgeslagen te worden en mag Excel worden afgesloten.
Naast de knop opslaan is er ook een knop beheer. Als je hierop drukt moet werkblad 2 zichtbaar worden. De beheerder ziet dan alle resultaten van de ingevulde velden. Dit werkblad moet beveiligd worden met een wachtwoord, zodat de beheerder eventueel nog aanpassingen kan doen in de lijst.

In Access is dit één en ander wat eenvoudiger, maar helaas beschikken wij hierover niet op kantoor.

Hoe pak je zoiets aan in Excel? Een werkblad beveiligen is voor mij geen probleem, maar het formulier maken en de automatische handelingen die dit moet doen (doorleiden naar het onderliggend werkblad, opslaan en afsluiten van het documetn) is voor mij een echte uitdaging. Kortom: help mij :D

Voor de goede orde: ik verwacht niet meteen een uitgewerkt voorbeeld. Meer een korte instructie hoe ik hier te werk moet gaan: wil het graag zelf leren.

Ik zie jullie reacties tegemoet

Tom.
 
Lees eerst deze pagina eens door. Ook op het forum hier vind je massa's voorbeelden met userforms.

Ik hoop dat de uitdaging jou lukt.

Wigi
 
Hai Tom,

Nu, voorlopig stuff tot uitwerken van WiGi,
Nog wel een vraag.
In Excel wordt onderscheid gemaakt tussen het begrip 'Werkmap' (het gehele bestand onder de naam .xls) en 'Werkblad', zoals aangegeven onderin de werkmap, in de vorm van tabbladen.
Wat is precies je bedoeling?

V
 
Beste Valijn,

Excuses voor het verkeerd gebruiken van het begrip.
Het gaat om een werkblad (tabblad), niet een nieuwe werkmap.

Ik ga in ieder geval nu met de tip van WiGi aan de slag. Dit brengt me al een heel eind.
Mogelijk heb ik nog wel wat vragen als ik in een verder stadium ben. Maar dan zal ik een gerichte vraag stellen.

Tom.
 
Laatst bewerkt:
Oké, dat valt nog helemaal niet tegen. Een vraagje nog

Ik heb nu op het formulier een keuzelijst-veld gemaakt. Hoe kan ik ervoor zorgen dat de gebruiker moet kiezen uit 5 waarden? Deze waarden zijn vast, en hoeven niet uit Excel opgehaald te worden. Waar kan ik deze kwijt?

Ik hoor het graag. Bedankt voor de goede link!
 
Laatst bewerkt:
excel probleem

Hallo,

Ooit gedacht aan Openoffice.org. Gratis en daar zit een access programma in.

Nico
 
Hoi Nico,

Bedankt voor je reactie. Maar ik ben werkzaam in een grote organisatie en die wenst uitsluitend Office te gebruiken. Niet iedere pc heeft Access, dus daarom dat ik dit in excel maak.

Ik ben dus al een heel eind. Uitsluitend nog de vraag ten aanzien van een keuzelijst maken in VBA en dan heb ik alles al verwezenlijkt.

Groeten,
Tom.
 
Kijk eens in de helpfiles van VBA naar AddItem, dan "Applies to" aanklikken, dan Combobox of Listbox aanklikken (hangt af van hetgeen je gebruikt), dan "Example".
 
Een keuzelijst maken kan je doen via Additem of List

Bijv.:

Code:
With combobox1
.Clear
.Additem "Tekst 1"
.Additem "Tekst 2"
.Additem "Tekst 3"
.Additem "Tekst 4"
.Additem "Tekst 5"
End with

Met vriendelijke groet,


Roncancio
 
Ik kom hier nog niet helemaal uit. Ik heb de volgende code in VBA toegevoegd:

HTML:
Private Sub Workbook_Open()
Load txtVeldnaam
'ga nu de list/combobox vullen
txtVeldnaam.ComboBox1.AddItem "eerste regel"
txtVeldnaam.ComboBox1.AddItem "tweede regel"
txtVeldnaam.Show
End Sub

Toch als ik het formulier run, wordt de keuzelijst niet gevuld.

txtVeldnaam = de naam van het veld (het keuzelijstveld)

Ziet iemand waar de fout zit?
 
Ik vind Txtveldnaam een aparte naam voor een keuzelijstveld. Is het wel een combobox of listbox ? Een keuzelijst heeft meestal als naam cbo oid.
In jouw geval zou de code:

Code:
txtVeldnaam.ComboBox1.AddItem "eerste regel"
.. aangepast moeten worden in ...
Code:
txtVeldnaam.AddItem "eerste regel"

Met vriendelijke groet,


Roncancio
 
Helaas. Ik heb het aangepast maar zonder resultaat.

Het veld heb ik txtTest genoemd. Ik laat nl. al m'n veldnamen beginnen met txt (dit stond zo ook in een bovengenoemd voorbeeld).

Als ik een nieuwe combobox invoer krijgt deze standaard de naam: ComboBox1.

Nu heb ik dus
txtTest.AddItem "eerste regel"
txtTest.AddItem "tweede regel"
txtTest.Show

Maar helaas geeft het formulier mij nog niet de gewenste keuzelijst.

Mogelijk komt dit omdat we hier nog zitten op Excel 97 (ik zie nl. dat 97 AddItem nog niet ondersteunt). Binnenkort gaan we over op Excel 2003. In die tussentijd, hoe kan je dit werkend krijgen?
 
Laatst bewerkt:
Als je onderstaande code toevoegd, wordt de combobox1 voorzien van de gegevens.

Code:
With combobox1
.Clear
.Additem "Tekst 1"
.Additem "Tekst 2"
.Additem "Tekst 3"
.Additem "Tekst 4"
.Additem "Tekst 5"
End with
Stuur anders een voorbeeld met fictieve gegevens.

Ik laat nl. al m'n veldnamen beginnen met txt
:shocked: :eek:
Het is een goede gewoonte om met de eerste 3 letters van de naam van een besturingselement aan te geven om wat voor besturingselement het gaat. M.a.w.

Cbo - Combobox
Lst - Listbox
Txt - Textbox
Cmd - Commandbutton
Etc.

Dit komt de overzichtelijkheid ten goede. Bovendien is dit makkelijker te onderhouden, zeker voor andere ontwikkelaars.:thumb:

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Ik denk dat het komt omdat ik hier nu nog werk met Excel97 en die AddItem niet blijkt te ondersteunen. Ik ga het even op een andere werkplek testen. Als het daar ook niet werkt, maak ik graag van je aanbod gebruik.
 
zet de code bij opstraten van formulier

Sub Rechthoek1_BijKlikken()
Load frmVerloren
'ga nu de list/combobox vullen
frmVerloren.txtSoortfinanciering.AddItem "NHG"
frmVerloren.txtSoortfinanciering.AddItem "Basis"
frmVerloren.txtSoortfinanciering.AddItem "Combi I"
frmVerloren.txtSoortfinanciering.AddItem "Combi II"
frmVerloren.txtSoortfinanciering.AddItem "Top I"
frmVerloren.txtSoortfinanciering.AddItem "Top II"

frmVerloren.Show
End Sub
 
Dankjewel. Dit werkt. Even voor mijn beeldvorming: waarom werkt dit wel en niet als je de waarden wilt meegeven via Workbook_Open?

Private Sub Workbook_Open()
Load txtSoortfinanciering
'ga nu de list/combobox vullen
txtSoortfinanciering.AddItem "NHG"
txtSoortfinanciering.AddItem "Basis"
txtSoortfinanciering.AddItem "Combi I"
txtSoortfinanciering.AddItem "Combi II"
txtSoortfinanciering.AddItem "Top I"
txtSoortfinanciering.AddItem "Top II"
txtSoortfinanciering.Show
End Sub
 
je load een formulier
dan geef je de waarden van de combobox
dan laat je het formulier zien

wat jij doet is een combobox laden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan