• 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.

formules aan vba verbinden?

Status
Niet open voor verdere reacties.

Sanski

Gebruiker
Lid geworden
28 feb 2011
Berichten
30
hey,

Ik zit zo goed als vast, heb net een userform gemaakt. Met nodige tabellen en dergelijke. Maar nu zou ik de nodige informatie aan deze userform moeten verbinden, gegevenstabellen aan comboboxen enzo voort. Probleem is dat ik niet goed weet hiermee te beginnen. Het is ook iets wat ik nog nooit met excel heb gedaan (werken in vba). Ik ben nu al een hele middag aan het zoeken om nog maar een simpele combobox te maken en dat lukt me zelf niet.

Enkele simpele voorbeelden waarmee ik verder zou kunnen, of wat ik eerst inorde zou moeten maken zou handig zijn, wegens ik totaal niet weet waar zoeken nu. ben er beetje hopeloos van aan het worden..

Kan ik mss ergens een lijst vinden van formules waarin deze staan uitgelegd?

mvg,
Sanski
 
Ik zou nu allereerst een werkblad aanmaken waarin de kolommen gevuld zijn met waarden om de Comboboxen te vullen. Dit doe je dan bij het openen v/h formulier met het Userform_Initialize event.
 
Hoe aanpakken?

Bekijk bijlage Checklijst Geheel Vba.rar

Hey,

Ik denk dat mijn eerste posten nogal een beetje onduidelijk waren, en eerder een wanhopige roep dan een serieuze. Nu ben ik al heel de avond aan het rondsurfen naar nog meer uitleg in de hoop morgen toch wat meer te kunnen schrijven en werken hieraan dan vandaag, maar echt opschieten doe ik niet. Wel nu dacht ik, ik geef hier mijn uitleg wat ik als doel heb, en dan weet ik ineens of dit haalbaar is.

Als je naar mijn userform ziet, merk je dat ik deze heb opgebouwd uit twee frames. De bovenste is om klantgegevens in te vullen, de onderste heeft verschillende tabbladen met vragen over het te maken meubel.

De bedoeling is dat ik in het bovenste combobox een keuze maak tussen vier verschillende checklijsten (checklijst keuken, badkamer, dressings, andere). De keuze die hier gemaakt wordt zal dan ook weer bepalen welke tabbladen ik kan invullen van het onderste gedeelde. Bij keuze dressing zal ik bv niet het tabblad van spoelbak en badkamer speciaal kunnen invullen. Verder wordt in de bovenste frame de klantengegevens ingevuld.

Van de onderste gedeelte met tabbladen moet je dan vervolgend je gegevens invullen per onderdeel (sokkel, corpus, werkblad, …) Het is de bedoeling dat je alleen in de tabbladen kan schakelen die bij de checklijstkeuze horen, dit doormiddel van onderaan waar vorige en volgende staan. De comboboxen hier moeten zorgen dat je uit een lijst kan kiezen en dus geen foute codes ingeeft, maar je kan wel nog altijd zelf een code ingeven indien de gewenste kleurcode of materiaalcode niet standaard is en speciaal besteld wordt.

Tot slot als je al de nodige tabbladen hebt ingevuld druk je op vul checklijst in, en dan zal deze automatisch de gegevens doorzenden naar een checklijst in het juiste formaat om af te drukken.


Nu heb ik dit een beetje onderschat om te maken vrees ik, de userform heb ik nu al af, maar hoe ik hier gegevens aan moet toevoegen en deze dan uiteindelijk laten doorzenden naar één werkblad vraag ik mij nog af.

Zo neem ik aan dat ik 4 werkbladen in Excel moet maken, met een lay-out, en als je dan checklijst keuken selecteert wordt je naar het werkblad keuken gebracht waar hij die gegevens invult, hetzelfde met checklijst badkamer, dressing enz. voort.
Verder zou ik in een 5de werkblad een database maken waarin per kolom een gegevens opsomming doe voor mijn comboboxen. Maar hoe ik die met elkaar link is mij dus nog een vraagteken. Sommige gegevens van kleuren en materiaal enz. kan ik voor meerdere zaken gebruiken

Maar hoe het dan verder moet zou ik niet weten, en heb ik toch beetje hulp nodig vrees ik, wel denk ik als ik eenmaal één tabblad heb ingevuld met de gegevens en gelinkt aan elkaar. Dat ik hiervan de volgende kan afleiden.

Ik denk dat dit het een beetje is, graag hoor ik jullie feedback
 
Ik heb een begin aangezet in je userform.
Bij het openen wordt de CB Checklijst gevuld alsmede de CB op Page Sokkel. Als je een keuze maakt bij Checklijst zal je merken dat Page Opmerkingen verborgen bij wijze van test, dit om je vraag te beantwoorden om bepaalde Pages te kunnen gebruiken.
Als je alle klantgegevens ingevuld hebt en je drukt op de knop vullen Ckecklijst wordt het tabblad met de naam in de CB Checklijst gevuld met de waarden op je Form.
Het wordt een megaproject, maar hier kan je al mee starten. :D

PS Pas de tabstops aan bij je klantgegevens zodat deze elkaar mooi opvolgen bij het invullen.
 

Bijlagen

Bekijk bijlage Checklijst Geheel Vba.rar

Om te beginnen wil ik warm bakkertje al bedanken voor de geleverde hulp, ben vandaag toch al beetje opgeschoten wat ik zonder hem onmogelijk achte.

het geen wat ik nu op dit moment zou moeten weten,
- code voor hoe ik in mijn multipage door op de verder of terug knop kan schakelen van sokkel naar corpus en terug. gewoon opeenvolgende schakeling van tabletten.
- Bij keuze materiaal, moet je erna keuzen kleur doen, deze combobox van keuze kleur hangt af van welk materiaal je gekozen hebt. Bij laminaat heb je andere kleuren codes dan bij corian bv. Ik neem aan dat dit moet gebeuren met if en else, maar hoe precies?
- Als ik een comboboxmaak moet ik bereik aangeven van cel B3:B8 bv, kan ik gewoon niet aangeven dat hij heel rij B moet nemen op uitzondering van eerste twee en lege cellen. Dit zou handige zijn voor de kleurlijst en materiaallijst omdat deze dan altijd bijgevuld kan worden zonder je hele codes moet switchen
- Hoe link ik mijn textboksen wat ik invul naar mijn werksheets waar dit moet komen dan, rekening houden met de keuze van checklijst voor op welk blad dit moet komen dan

Ik denk dat dit al mijn voorlopige vragen zijn, zal er vanavond nog mee bezig zijn wrs, maar heb mijn bestand er nog eens bij toegevoegd. Feedback is altijd welkom zou ik zeggen, hopelijk is alles nu ook al beetje duidelijker.

Grt,
Sanski
 
Om je textboxen weg te schrijven begin je de code met
Code:
With [COLOR="red"]Sheets(CmbChecklijstKeuzen.Value)[/COLOR]    
  ........
  End With
zodat het blad gekozen wordt adhv de ingevulde keuzelijst

Voor variabele lengte keuzelijsten
Code:
Private Sub UserForm_Initialize()
    With Sheets("Gegevensdatabase")
        CmbChecklijstKeuzen.List = WorksheetFunction.Transpose(.Range("B2:B" & .Cells(Rows.Count, 2).End(xlUp).Row))
        ComboBox12.List = WorksheetFunction.Transpose(.Range("N2:N" & .Cells(Rows.Count, 14).End(xlUp).Row))
        ComboBox13.List = WorksheetFunction.Transpose(.Range("H2:H" & .Cells(Rows.Count, 8).End(xlUp).Row))
        ComboBox14.List = WorksheetFunction.Transpose(.Range("F2:F" & .Cells(Rows.Count, 6).End(xlUp).Row))
        CmbSokkelInsprong.List = WorksheetFunction.Transpose(.Range("P2:P" & .Cells(Rows.Count, 16).End(xlUp).Row))
    End With
End Sub

Gebruik de zoekfunctie van dit forum voor afhankelijke keuzelijsten voor je materialen en kleuren.
 
Laatst bewerkt:
Hey,

Probeer te zoeken maar kan ik nu niet zo goed mee overweg eerlijk gezegt, moeilijk om de juiste trefwoorden te vinden enz.

Heb de code gebruikt, voor linken van cellen, en ziet er mij vrij goed uit, het werkt ook. wel heb ik enkele vragen. De code die nu gebruikt word vb:
Code:
Private Sub MultiPage1_Change()
    With Sheets(CmbChecklijstKeuzen.Value)
       .[D11] = CmbMateriaalSokkel.Text
       .[D16] = TxtBijzonderhedenSokkel.Text
       .[D22] = TxtOpenKastenCorpus.Text
    End With
End Sub

er wordt hier verwacht dat op elke scheet dit op dezelde plaats moet komen, maar als ik op blad 3 genaamd checklijst dressing deze code op ipv D11 naar D12 moet hebben. Hoe link ik deze dan?

Verder worden de gegevens die ik in deze boks niet direct op hun plaats geposteerd als ik op mijn knop vul checklijst in. Pas als ik met de tablads in de userform speel komt de tekst.

En dan heb ik nog een checkbox vraag, als je naar eerste tablet sokkel kijkt zou ik de bovenste twee checkboxen met elkaar moeten verbinden (wat ook bij andere zaken moet) Zo dat standaard de checkbox sokkel wordt aangevonken. Als je de checkbox zwevend meubel dan weer aanvinkt dan zouden al de andere text en comboboxen van de pagina sokkel moeten freezen, dat je hier niksmeer kan invullen en of gebruiken. Is dit mogelijk?
 
Code:
Private Sub CheckBox3_Click()
    'Vinkje aanzetten bij Zwevend meubel
    If CheckBox4 Then CheckBox4 = False 'schakelt vinkje sokkel uit
    ComboBox14.Enabled = False 'schakelt cmbMateriaal uit
End Sub
Je moet het wegschrijven v/d gegevens plaatsen bij Vul Checklijst in, niet bij Multipage_Change

PS Er is ook een foutje gelopen bij de dynamische lijsten. Was vergeten de kolomnummers aan te passen, kijk vorige post voor aanpassing.
 
Met dynamische lijsten is mij gelukt :)

het aanvinken van vakken lukt me dan weer niet,
hoe kan ik ervoor zorgen dat het vak ckbSokkel automatisch is aangevinkt als ik mijn userform opstarten, en automatisch uitvinkt als ik zwevend meubel aanvink. Dit lukt me tot nu toe totaal niet. En moet deze code dan in een nieuwe sub geschreven worden, of toegevoegd aan userform Initialize?

verder heb ik nog een vraag,
voorlopig verbindt ik mijn comboboxen en textvlakke met volgende code
With Sheets(CmbChecklijstKeuzen.Value)
.[B1] = TxtChecklijst1.Text
.[K1] = TxtChecklijst2.Text
Het probleem is dat op sommige sheets de positie van waar de text komt anders is, hoe pas ik dit aan? Dat bv voor keuken B1 is en voor badkamer B3 waar dit moet komen.
 
Laatst bewerkt:
Hey,

Ik denk dat je hier nietmeer moet op antwoorden,
heb tehoren gekregen dat we het anders gaan maken
Niet meer met verschillende tabbladen enz.

Dus ik ga dit hier sluiten, en het nieuwe maken en zoveel mogelijk al proberen te doen.
Als ik dan met vragen zit open ik wel nieuw topic om verwarring te voorkomen.

Toch bedankt voor alle hulp, zal hiervan ook veel kunnen herbruiken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan