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

VBA afhankelijk van cel in werkblad

Status
Niet open voor verdere reacties.

rontermaat

Gebruiker
Lid geworden
17 dec 2008
Berichten
128
Hallo lieve mensen

Is het mogelijk om VBA alleen de data te laten weergeven die ik in het werkblad invul met een O, M of N.

Ik moet voor mijn werk vuilwerkpremies uitschrijven Nu werd dat voorheen gedaan met de hand. Nu wil ik het digitaliseren maar wel zo makkelijk mogelijk.

Ik heb in VBA een userform gemaakt met de naam (nu 1,2,3,4,5,6,7)
Als de naam is ingevuld kun je aangeven de code bij de datum.
en als je op opslaan drukt moet het in het werkblad komen.

Maar nu is mijn probleem dus dat ik in VBA niet kan zien of we O(chtend) M(iddag) of N(acht) hebben gehad.

Dus nu is mijn vraag als ik in het (zie bijlage) werkblad bijv. bij de datum 123 en 56 o mm nn invul dan moeten alleen die data zichtbaar worden in VBA.

Kan dat?

Alvast bedankt
 

Bijlagen

Ik hoop dat het aan mij ligt maar ik zie dat er 24 x gekeken is en niet 1 x gereageerd.

Ik kan namelijk niet anders zeggen dan dat ik er dus helemaal niets van begrijp.
 
Omdat ik in ploegendienst werk is geen maand hetzelfde het reperteerd in periodes van 10 dagen. zich in dit overzicht

O O M M vrij N N vrij vrij vrij O O M M vrij N N vrij vrij vrij enz.

Maar goed nu wil ik dus dat als ik mijn userform gebruik dat dan alleen de dagen die ik heb gewerkt tevoorschijn komen.
Omdat alleen op die dagen er Vuilwerkpremie hoeft uitgeschreven te worden, of een andere code bijv. VK OI BV EV DOD.

Ik hoop dat het zo duidelijker is.

groet Ron
 
Ik zie geen code of userform in de bijlage

of heeft het ermee te maken dat ik de bijlage open met excel 2003?


gr wim
 
Laatst bewerkt:
Beste

Ik kan wel iets in elkaar steken, dan moet ik wel weten op welke dag dat de eerst ochtend begint.

En gaat het over meerdere personen die elkaar aflossen.
Vb. de ene staat met O, de andere heeft dan M dan N en Vrij.

Zie al een voorbeeldje.

Groetjes Danny.
 

Bijlagen

Ik zie geen code of userform in de bijlage

of heeft het ermee te maken dat ik de bijlage open met excel 2003?


gr wim

Er zit gewoonweg geen userform in het bestand.

@TS.
Als ik de vraag goed begrijp zou je de textboxen op de userform zichtbaar dan wel onzichtbaar kunnen maken als er niets is ingevuld voor de betreffende dag.

Met vriendelijke groet,


Roncancio
 
Hallo heren

Mijn 1e werkdag was vandaag 1e ochtend (oranje) dus (O-O-M-M-vrij-N-N-vrij-vrij-vrij)
Het geld alleen voor de mensen van mijn kleur

Ja dat klopt Roncancio

Ik heb inderdaad een versie erop gezet zonder macro's (DOM)bij deze een met macro's ik ben er nog mee bezig (gaat niet zo snel heb er zelf niet veel verstand van maar weet wel wat je er mee zou kunnen dus moet alles uitzoeken en vragen.

groetjes Ronnie
 

Bijlagen

PS danny wat je heb gemaakt is machtig mooi
Vraagje: is het hierbij mogelijk om een keuze lijst te maken met de maanden en dat de ploegenkalender dan gewoon doorloopt in die maanden.
 
Beste rontermaat ;)

Is dit goed of had je het anders gewild ?

Een volledige kalender misschien ?

Groetjes Danny. :thumb:
 

Bijlagen

Alvast bedankt voor je hulp

Ja ik heb nog een vraagje Danny

Hoe kan ik het zelf veranderen in een andere (kleur) dienst want zoals hij er nu instaat komt hij niet overeen met mijn diensten.

groetjes Ron
 
rontermaat,

Volgens mij kun je dit veranderen in regel 7 (is verborgen)

Suc6
 
Ja dat had ik gevonden maar als ik daar in verander veranderd hij alleen die.
En niet de rest van de cellen dat werkt dus niet helemaal.
Ik heb vandaag 2e ochtend.

alvast bedankt
 
rontermaat,

Als je de formule heb veranderd zodat het wel klopt, moet je hem natuurlijk wel naar rechts doortrekken.
In de andere cellen staan ook formules en dat veranderd hij niet zelf.

Suc6
 
Ik heb nu al van alles geprobeerd maar als ik hem door trek stopt hij halfverwege met veranden :confused:
Ik begin nu aan mezelf te twijfelen of ik het goed doe.:(
Ik hoop dat je me nog kunt helpen.
groet Ron
 
rontermaat,

Ik heb het ook al geprobeerd en als ik denk nu heb ik het, klopt het niet meer.
Het gaat volgens mij om het rest getal wat er overblijft van de deling.
Danny147 zal straks wel hier op reageren, dus nog maar even afwachten.
 
Dit is echt perfect zo.
bedankt danny.

Dan zit ik alleen nog met de vraag die roncancio begreep.

1. Is het uberhaubt mogelijk om een userform afhankelijk te maken van cellen die er ingevuld word met een tekst(zoals ochtend middag nacht)

2. Als ik een naam heb geselecteerd zou alleen in de rij achter de naam de codes moeten komen.
Moet ik dan voor iedere naam een apart script schrijven.

3. En nog een fomule vraagje:

Ik heb op een dag 4 uur premie te verdelen (vandaar 2 rijen achter een naam)dus nu had ik de formule ingevuld C12=(4-C11) maar goed in pincipe werkt dat, alleen op de dagen dat we vrij zijn of dat je een code hebt ingevuld komt er een fout of een 4 te staan
Wat ik nu wil is als de bovenste rij (achter een naam)niet word ingevuld of met een code dan moet er in de onderste niets komen te staan
nu had ik zelf bedacht (werkt niet) C12=ALS(C11=(1,2,3,4)(4-C11))4-C11

Ik hoop dat jullie deze amateur nog kunnen helpen heb inmiddels wel boeken aangeschaft voor VBA excel en excel zelf

Groet Ron
 

Bijlagen

Ik heb je code wat korter gemaakt.
Zo gebruikte je in de code:

Code:
ComboBox2.List = Array("-", "1", "2", "3", "4", "VK", "OI", "DOD", "BV", "EV")
ComboBox3.List = Array("-", "1", "2", "3", "4", "VK", "OI", "DOD", "BV", "EV")
ComboBox4.List = Array("-", "1", "2", "3", "4", "VK", "OI", "DOD", "BV", "EV")
...
ComboBox32.List = Array("-", "1", "2", "3", "4", "VK", "OI", "DOD", "BV", "EV")
Dit kan je vervangen door een lus zodat je de array maar 1 keer hoeft te gebruiken.

Code:
Private Sub UserForm_Activate()
    On Error Resume Next
    ComboBox1.List = Array("Piet", "JAN", "KLAAS", "TRUUS", "HARRY", "PETER", "RON")
    For CB = 2 To 32
        Me.Controls("Combobox" & CB).List = Array("-", "1", "2", "3", "4", "VK", "OI", "DOD", "BV", "EV")
    Next

End Sub

Verder heb ik code aangebracht in de userform zodat bij het kiezen van een andere naam de gegevens van die persoon in de userform verschijnt. Mocht een cel leeg zijn, dan wordt de betreffende combobox ook niet getoond.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Laatst bewerkt:
Hallo roncancio

bedankt voor het inkorten van mijn script.
Alleen zit er nog een klein foutje in.
Het userform moet afhankelijk zijn van de diensten van die maand (rij 9)en het is nu afhankelijk van de persoon. maar in het script krijg ik niet helder waar jij dat heb gebruikt. vast hierin.

For ikol = 3 To 33
sInhoud = Trim$(Cells(NM.Row, ikol).Value)
With Me.Controls("Combobox" & ikol - 1)
.Visible = Len(sInhoud) > 0
.Value = sInhoud

Ik wil het userform gebruiken om de lijst in te vullen.

Nou ik hoor het graag nog van jullie.

(nog een klein vraagje over dit blad (maar dan bestemd voor het vakantierooster): Als je nu van maand naar maand scrolt dan blijven de gegevens gewoon staan.
Is het mogelijk dat dat per maand ingevuld kan worden en als je er dan doorheen gaat dat je gewoon ziet wat er per maand is ingevuld)

Met vriendelijke groet

Ron
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan