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

Gegevens uit userform wegschrijven

Status
Niet open voor verdere reacties.

schuurar

Gebruiker
Lid geworden
15 aug 2009
Berichten
392
Beste experts,

Wie kan mij op weg helpen met het wegschrijven van gegevens uit een userform.
Ik heb een uren registratie voor het werken van de mensen uit de bakkerij en de winkel.
Nu wil ik in een userform de tijden invullen en dan wegschijven naar 2 verschillende tabbladen.
In het userform heb ik de namen staan met daarbij een selectie vakje. Als ik dan de tijd heb ingevuld wil ik met de selectievakjes aangeven wie deze tijden gewerkt hebben. (zodat ik het maar 1 keer hoef in te vullen)
Met een 2de selectie vakje wil ik aangeven dat iemand een extra dag gewerkt heeft. Als dit vakje aangevinkt is moet bij het wegschijven de cellen gekleurd worden.

Hoop dat het voorbeeld duidelijk is anders hoor ik het graag.
Wie kan mij op weg helpen aub?

Bedankt vast.

Bekijk bijlage helpmij userform.xlsm
 
Laatst bewerkt:
Test het eerst eens op tabblad Bakkerij ivm de volgorde van de textboxen van Winkels.
 

Bijlagen

  • helpmij userform.xlsb
    37,2 KB · Weergaven: 139
Hoi Harry,
Bedankt voor het reageren!

Begin is al super. Werkt bijna zoals ik graag wil.
In het echte bestand zitten wel meer medewerkers dus zou graag wat uitleg krijgen hoe het in elkaar zit.
Dan kan ik er werknemers bij zetten.

De textboxen had ik even voor het gemak gekopieerd en alleen de namen veranderd voor het voorbeeld.
 
Plak onderstaande code in het bestand, dan wordt de uitleg groen van kleur.

Code:
Private Sub CommandButton2_Click()
Dim j As Long, r
For j = 1 To 4  'controleer of alle 4 textboxen zijn gevuld alvorens wegschrijven.
If Me("textbox" & j) = "" Then
  MsgBox "voer alle gegevens in"
  Exit Sub
End If
Next j 'volgende textbox
If IsDate(TextBox1) Then  'als textbox1 een datum is.
 For j = 1 To 3  'een lus om alle drie de checkboxen te doorlopen
  If Me("checkbox" & j) Then  'als checkbox j = true dan ga verder anders naar end if
         r = Application.Match(CLng(CDate(TextBox1.Value)), Columns(3), 0)  'kijk op welke rij de datum staat
      If Not IsError(r) Then  'als de datum is gevonden dan verder anders naar end if
         Set r = Cells(r, 6)  'pak de cel(rij(r) en kolom 6)
         r.Offset(, j * 7 - 7).Resize(, 3) = Array(CDate(TextBox2.Value), CDate(TextBox3.Value), CDate(TextBox4.Value)) 'bij j = 1 dan 1*7-7 opzij (dus 1 opzij en drie cellen breed); bij j = 2 dan 2*7-7 = 7 cellen opzij en drie breed
         If Me("checkbox" & j + 3) Then r.Offset(, j * 7 - 7).Resize(, 3).Font.Color = vbRed 'als de checkbox j+3 = 1+3 of 2+3 of 3+3 dan de cellen rood kleuren
      End If
    End If
  Next j 'volgende checkbox
 End If
 End Sub
 
Dank je voor je uitleg.
Ben er mee bezig maar lukt nog niet helemaal om te verwerken.
Is het handig als ik de checkbox anders nummer?
Dus naam is "checkbox 1" en dan extra werk is "checkbox 2" enz
Dan zal de code anders worden neem ik aan?
 
Wat moet er verwerkt worden?
 
heb in totaal 16 mensen werken.
Soms komt er iemand bij soms gaat er iemand weg.
Zou dus graag willen weten hoe ik het zelf kan veranderen aub
 
Dan zou je een ander opzet moeten overwegen.
Bijvoorbeeld met een combobox om op naam weg te schrijven ipv checkboxen.
 
Er staan volgens mij genoeg voorbeelden op het forum die een combobox in hun Userform hebben.

Zoek er maar eens op.
Knutsel iets in elkaar; als je er met de codes niet uitkomt word je vast geholpen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan