maanden registratie afwezig aanwezig (if en optionbuttons)

  • Onderwerp starter Onderwerp starter TALES
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

TALES

Gebruiker
Lid geworden
8 nov 2009
Berichten
28
Ik denk dat dit niet helemaal de manier is. Voor de buttons komen er nog meer bij en op deze manier vind ik het er niet netjes uit zien.:( De Kolom B loopt van B3 tot B29 en C3 tot C29 Dit is voor de maand Januari. Voor de maand februari krijg ik dan het zelfde ritueel.Alleen dan word het D3 tot D29 en E3 tot E29 etc. tot december.

Code:
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Januari"
.AddItem "Februari"
.AddItem "Maart"
.AddItem "April"
.AddItem "Mei"
.AddItem "Juni"
.AddItem "Juli"
.AddItem "Augustus"
.AddItem "September"
.AddItem "Oktober"
.AddItem "November"
.AddItem "December"
End With
With ComboBox2
.AddItem "2009"
.AddItem "2010"
.AddItem "2011"
End With
End Sub



Private Sub CommandButton1_Click()
If ComboBox2.Value = 2009 Then
 Sheets("2009").Select
End If
If ComboBox2.Value = 2010 Then
 Sheets("2010").Select
End If
If ComboBox2.Value = 2011 Then
 Sheets("2011").Select
End If


If OptionButton1 = True Then
    Range("B3") = Range("B3") + 1
    End If
If OptionButton2 = True Then
    Range("C3") = Range("C3") + 1
    End If
If OptionButton3 = True Then
    Range("B4") = Range("B4") + 1
    End If
If OptionButton4 = True Then
    Range("C4") = Range("C4") + 1
    End If
If OptionButton5 = True Then
    Range("B5") = Range("B5") + 1
    End If
If OptionButton6 = True Then
    Range("C5") = Range("C5") + 1
    End If
If OptionButton7 = True Then
    Range("B6") = Range("B6") + 1
    End If
If OptionButton8 = True Then
    Range("C6") = Range("C6") + 1
    End If
End Sub

bedankt alvast voor het lezen.:thumb:
 
Code:
for j= 1 to 12
   c0=c0 & format(datevalue(2009,1,1),"mmmm") & "|"
next
ComboBox1.list=split(c0,"|")
ComboBox2.list=Split("2009|2010|2011","|")
 
Code:
for j= 1 to 12
   c0=c0 & format(datevalue(2009,1,1),"mmmm") & "|"
next
ComboBox1.list=split(c0,"|")

Hartelijk dank voor deze snelle reactie maar op een of andere manier werkt deze niet voor mij heb ik al een 1 veranderd naar een j en tussen ("2009,1,j") geprobeerd maar geen succes kan het zijn dat ik 2003 heb dat dit het probleem is?

Ik heb nu wat geprobeerd met de optionbuttons ik heb het idee dat ze wel gemaakt worden maar ze werken niet goed.

Code:
j = 3
For i = 1 To 27
If (OptionButton & i) = True Then
    Range("B" & j) = Range("B" & j) + 1
    End If
    j = j + 1
    'door deze i krijg ik de optionbuttons 1, 3, 5, 7 etc..
    i = i + 1
Next i

x = 3
For y = 2 To 27
If (OptionButton & y) = True Then
    Range("C" & x) = Range("C" & x) + 1
    End If
    x = x + 1
   'door deze y krijg ik de optionbuttons 2, 4, 6, 8  etc..
    y = y + 1
Next y
 
Code:
for j= 1 to 12
   c0=c0 & format(datevalue(2009,[B][COLOR="Red"]j[/COLOR][/B],1),"mmmm") & "|"
next
ComboBox1.list=split(c0,"|")
ComboBox2.list=Split("2009|2010|2011","|")
 
Ik heb value veranderd naar serial dan doet hij het wel. En krijg ik geen fout meldingen.

Code:
For j = 1 To 12
   c0 = c0 & Format(DateSerial(2009, j, 1), "mmmm") & "|"
Next

Dit is wat ik tot nu toe heb staan:

Code:
Private Sub UserForm_Initialize()
 For j = 1 To 12
   c0 = c0 & Format(DateSerial(2009, j, 1), "mmmm") & "|"
 Next
 ComboBox1.List = Split(c0, "|")
 ComboBox2.List = Split("Oefenen 2009|Oefenen 2010|Oefenen 2011", "|")
End Sub

Private Sub CommandButton1_Click()
If ComboBox2.Value <> "" Then
 Sheets(ComboBox2.Value).Select
 Else
 MsgBox "In welk jaar moet dit gaan komen?"
 GoTo ende
End If

If ComboBox1.Value <> "" Then
 'holder
 Else
 MsgBox "Welke maand moet dit geplaats worden?"
 GoTo ende
End If

'this part bellow here is not working
j = 3
For i = 1 To 54 Step 2
If (OptionButton & i) = True Then
    Range("B" & j) = Range("B" & j) + 1
    End If
    j = j + 1
Next i

x = 3
For y = 2 To 54 Step 2
If (OptionButton & y) = True Then
    Range("C" & x) = Range("C" & x) + 1
    End If
    x = x + 1
Next y

ende:
End Sub

Bedankt voor de hulp tot zo ver snb :thumb:
 
Laatst bewerkt:
Code:
Private Sub CommandButton1_Click()
If ComboBox2.Value <> "" Then
 Sheets(ComboBox2.Value).Select
 Else
 MsgBox "In welk jaar moet dit gaan komen?"
 GoTo end
End If

If ComboBox1.Value <> "" Then
 'holder
 Else
 MsgBox "Welke maand moet dit geplaats worden?"
 GoTo ende
End If
is overbodig.
Vermoei gebrukers niet met mededelingen.
Alternatief

Code:
Private Sub Combobox1_Change()
   Commandbutton1.visible=combobox1.value<>"" and combobox2.value<>"" 
End Sub

en
Code:
For i = 1 To 54 Step 2
If Me("OptionButton" & i)  Then sheets(combobox1.value).cells(3 + i\2 ,2) = sheets(combobox1.value).cells( 3+i\2,2) + 1
Next
 
Echt bedankt voor de moeite die je heb genomen ik moet nog wel een beetje dingen aanpassen maar daar denk ik wel uit te gaan komen :thumb::thumb::thumb:
 
Ik ben er uitgekomen dit is het totale resultaat. Super bedankt snb voor je hulp

Hier de Code zoals hij nu is:
Code:
Private Sub UserForm_Initialize()
 For j = 1 To 12
   c0 = c0 & Format(DateSerial(2009, j, 1), "mmmm") & "|"
 Next
 ComboBox1.List = Split(c0, "|")
 ComboBox2.List = Split("2009|2010|2011", "|")
End Sub

Private Sub CommandButton1_Click()
If ComboBox2.Value <> "" Then
 Sheets(ComboBox2.Value).Select
 Else
 MsgBox "In welk jaar moet dit gaan komen?"
 GoTo ende
End If

If ComboBox1.Value <> "" Then
 If ComboBox1.Value = "januari" Then x = 2: y = 3
 If ComboBox1.Value = "februari" Then x = 4: y = 5
 If ComboBox1.Value = "maart" Then x = 6: y = 7
 If ComboBox1.Value = "april" Then x = 8: y = 9
 If ComboBox1.Value = "mei" Then x = 10: y = 11
 If ComboBox1.Value = "juni" Then x = 12: y = 13
 If ComboBox1.Value = "juli" Then x = 14: y = 15
 If ComboBox1.Value = "augustus" Then x = 16: y = 17
 If ComboBox1.Value = "september" Then x = 18: y = 19
 If ComboBox1.Value = "oktober" Then x = 20: y = 21
 If ComboBox1.Value = "november" Then x = 22: y = 23
 If ComboBox1.Value = "december" Then x = 24: y = 25
 Else
 MsgBox "Welke maand moet dit geplaats worden?"
 GoTo ende
End If

For i = 1 To 39 Step 2
 If Me("OptionButton" & i) Then Sheets(ComboBox2.Value).Cells(3 + i \ 2, x) = Sheets(ComboBox2.Value).Cells(3 + i \ 2, x) + 1
 j = i + 1
 If Me("OptionButton" & j) Then Sheets(ComboBox2.Value).Cells(3 + i \ 2, y) = Sheets(ComboBox2.Value).Cells(3 + i \ 2, y) + 1
Next

ende:
End Sub

Ik heb dit stukje code niet gebruikt omdat hij precies andersom moet werken.
Code:
Private Sub Combobox1_Change()
   Commandbutton1.visible=combobox1.value<>"" and combobox2.value<>"" 
End Sub

Dus wanneer de comboboxen zijn ingevult moet de knop gaan werken.

Maar ik ben nu al een heel blij mens echt super bedankt.:thumb:
 
Je zult deze code aan beide comboboxen moeten hangen.
En jij doet precies wat jij wil.

Code:
Private Sub Combobox1_Change()
   Commandbutton1.visible=combobox1.value<>"" and combobox2.value<>"" 
End Sub

Private Sub Combobox2_Change()
   Commandbutton1.visible=combobox1.value<>"" and combobox2.value<>"" 
End Sub

kontroleer nog eens de laatste lus. Die if riedel met alle maanden erin is dan echt overbodig
Code:
If combobox2.value="" then exit sub
With Sheets(ComboBox2.Value)
  For i = 1 To 39 Step 2
    If Me("OptionButton" & i) Then .Cells(3 + i \ 2, i+1) = .Cells(3 + i \ 2, i+1) + 1
    If Me("OptionButton" & i+1) Then .Cells(3 + i \ 2, i+2) = .Cells(3 + i \ 2, i+2) + 1
  Next
End With
 
Bij het opstarten van het script is de button zichtbaar dus kan er gelijk geklikt worden dit is dan niet de bedoeling dan moet hij ook niet zichtbaar zijn. Hoe hij nu werkt met jou stukje script is als volgt:
Wanneer ik een van de combo's klik gaat hij weg en wanneer de twee combo's zijn geklikt komt hij terug.

Het 2de stukje script werkt niet zo als het stukje wat ik al heb met al die maanden.
mijn tabel ziet er als volgt uit
naam afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig
naam afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig afwezig aanwezig
etc..

dan is de eerste afwezig aanwezig januari de 2de februari etc..

Wanneer ik jou laatste stukje script gebruik krijg ik de gegevens niet onder elkaar maar trapsgewijs naar beneden over alle maanden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan