calcolo percentuale risposte esatte
Hai un problema con Excel? 
calcolo percentuale risposte esatte
di nichicanta data: 29/06/2013 21:41:59
Amici, ho impostato questo codice che dovrebbe (la percentuale la visualizzo con tante cifre ed io la vorrei in questo modo es. 20%; 33% ecc.) calcolarmi la percentuale di risposte esatte su tutte le domande del quiz.
Vi chiedo, per cortesia di dare un occhiata al codice che vi allego, sempre se secondo voi fa quello che desidero e poi possibilmente (poiché la percentuale la devo far comparire su una label) vi chiedo di poter aggiungere al codice, il testo che mi dice: la percentuale di risposte esatte è pari al 20%;32% e cosi via e che hai risposto a nr. domande su un totale di NN. domande.
Ringrazio in anticipo chi mi aiuta.
Sub Percentuale_Risposte_Esatte()
Dim x As Long
Dim tot As Integer
ThisWorkbook.Sheets("Foglio1").Select
tot = WorksheetFunction.CountA(Range("A2:A80000"))
x = Range("a" & Rows.Count).End(xlUp).Row
'Sheets("Foglio1").Range("c2") = Application.WorksheetFunction.CountIf(Range("a1:a" & UCase(x), "RISPOSTA ESATTA"))
MsgBox CDbl(tot / x) * 100 & "%"
End Sub |
di paolomath (utente non iscritto) data: 30/06/2013 00:15:11
Non ho capito bene i valori che range devono avere (mi sembra di aver "intuito" 1 per risposta esatta, Nul per risposta sbagliata) per il messaggio puoi mettere:
MsgBox "La percentuale di risposte esatte è pari al " & Round((tot / x) * 100, 0) & "%" & Chr(13) & "Hai risposto a " & tot & " risposte su " & x & "."
...o qualcosa di simile.
Bye
di Raffaele_53 (utente non iscritto) data: 30/06/2013 14:12:00
Se non erro, un qualcosa non mi torna?
x = Range("a" & Rows.Count).End(xlUp).Row. OK
tot = WorksheetFunction.CountA(Range("A2:A80000")). Che vuol di?
Casomai nella colonna "tot" (che non sarà la stessa), conta quanti sono con "RISPOSTA ESATTA"
Io userei CountIf
Tot = CountIf
=tot/x e poi aggiusti il tutto in percentuali
di nichicanta (utente non iscritto) data: 08/07/2013 21:16:23
Grazie all'aiuto di voi due, ho risolto in questo modo.
Un saluto affettuoso a paolomath e Raffaele_53.
Sub Percentuale_Risposte_Esatte()
Dim x As Long
Dim tot As Integer
ThisWorkbook.Sheets("Foglio1").Select
tot = Application.WorksheetFunction.CountIf(Range("H2:H80000"), "RISPOSTA ESATTA")
x = Range("a" & Rows.Count).End(xlUp).Row
'Sheets("Foglio1").Range("c2") = Application.WorksheetFunction.CountIf(Range("a1:a" & UCase(x), "RISPOSTA ESATTA"))
UserForm1.Label10.Caption = "La percentuale di risposte esatte è pari al " & Round((tot / x) * 100, 0) & "%" & Chr(13) & "Hai risposto a " & tot & " risposte su " & x & "."
End Sub
|
Vuoi Approfondire?