C'e' un errore nel tuo codice, dovuto all'uso "strambo" del Select Case !Originariamente inviato da neho34
Salve a tutti. ho un foglio excell che gestisco con delle form. In una di queste immetto i dati nell'altra attraverso dei checkbox li filtro. Il problema sta nel fatto che se checko uomini o donne li conta, mentre se seleziono gli altri check la cosa non viene fatta. Il codice è tutto nel pulsante e sono una serie di funzioni richiamate da un select case
mentre le funzioni sono così:codice:Private Sub btn_mostra_Click() situazione = True Select Case situazione Case Is = chc_uomini.Value = True contaUomini (True) Case Is = chc_donne.Value = True contaDonne (True) Case Is = chc_gravi.Value = True contaGravi (True) Case Is = chc_fisico.Value = True contaFisica (True) Case Is = chc_motoria.Value = True contaMotoria (True) Case Is = (chc_fisico.Value = True), (chc_uomini.Value = True) 'contaUominiFisico(True,True) End Select
Io chiedo se c'è un modo per creare una sola funzione che possa comprenderle tutte io ho provato ma il mio pc si è molto risentito. altra cosa perchè i primi due case vengono eseguiti mentre gli altri non danno alcun messaggio (neanche d'errore)codice:Function contaGravi(grave As Boolean) If grave = True Then For i = 1 To 10000 If Range("J" & i) = 3 Then conta = conta + 1 End If Next lbl_filtro = conta End If End Function
Grazie per la vostra pazienza
codice:situazione = True Select Case situazioneVVoVe:
...le parti di codice contenute nei "rami" Case sono mutualmente esclusivi, ossia ne viene eseguito UNO SOLO !
Quindi, visto che ALMENO UNO tra chc_uomini.Value e chc_donne.Value varra' sempre True (presumo), l'elaborazione non ha speranze di esplorare i successivi rami Case !

VVoVe:
Rispondi quotando