Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel]cambiare ordine delle risposte in un quiz multichoice

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Statix » 24/05/14 16:35

si esatto,
se posso stasera vedo di fare qualcosa altro,
eventualmente comincia a sistemare quelle dopo la materia Telecomunicazioni,
così io faccio la prima parte( Informatica) ne ho sistemate già un migliaio,
in 2 si fa prima.
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Statix » 24/05/14 16:53

dimenticavo, sistema le risposte e domande in una sola colonna e rigo per volta,
dopo con una formula le spostiamo nelle altre colonne.
quindi ogni domanda e 3 risposte ,4 righe esatte,sempre in una sola colonna
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi lady_g » 25/05/14 10:49

satix io ti ringrazio nuovamente per l'impegno a l'aiuto che m stai dando. sto risolvendo un po' alla volta con la tecnica che mi hai indicato. Non voglio che però ci stai altro tempo, i tuoi consigli sono già stati preziosi così

grazie ancora e buona domenica
lady_g
Utente Junior
 
Post: 13
Iscritto il: 23/05/14 21:18

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Anthony47 » 25/05/14 12:16

Ho guardato il file pubblicato da lady_g.
Purtroppo esso e' alquanto disordinato, trattandosi evidentemente di una "traduzione" da pdf a excel.
Al momento ho sviluppato la sequente macro che mette in orizzontale le domande e le risposte:
Codice: Seleziona tutto
Sub ShuffQuest()
Dim VArr(), LastA As Long, OArr(), I As Long, J As Long, K As Long, CQNum As Long, LastCQN As Long
Dim isQuest As Boolean, isResp As Boolean, isTit As Boolean
'
Sheets("Table 1").Select
LastA = Cells(Rows.Count, 1).End(xlUp).Row
ReDim VArr(1 To LastA)
ReDim OArr(1 To LastA, 1 To 6)
VArr = Range("A1").Resize(LastA, 1).Value
For I = 1 To LastA
VArr(I, 1) = Replace(VArr(I, 1), Chr(160), " ")
If VArr(I, 1) = "" Then GoTo SkipI
    isResp = False: isQuest = False: isTit = False
    If IsNumeric(Left(VArr(I, 1), 5)) Then
        isQuest = True
    ElseIf Left(Trim(VArr(I, 1)), 2) = "A)" Then
        isResp = True
    ElseIf Left(Trim(VArr(I, 1)), 2) = "B)" Then
        isResp = True
    ElseIf Left(Trim(VArr(I, 1)), 2) = "C)" Then
        isResp = True
    ElseIf Left(VArr(I, 1), 3) <> "   " Then
        isTit = True
    End If
   
    If isQuest Then
        J = J + 1: K = 3
        OArr(J, 1) = VArr(I, 1)
        OArr(J, 2) = I
        CQNum = CLng(Left(VArr(I, 1), 5))
        If CQNum <> (1 + LastCQN) Then OArr(J, 3) = "SeqErr"
        LastCQN = CQNum
    ElseIf isResp And K < 6 Then
        K = K + 1
        OArr(J, K) = Trim(VArr(I, 1))
    ElseIf isTit Then
        J = J + 1: LastCQN = 0
        OArr(J, 1) = "### " & VArr(I, 1)
    ElseIf Not isTit And Not isQuest And Not isResp Then
        J = J + 1: K = 7
        OArr(J, 1) = "ORR   " & VArr(I, 1)
        OArr(J, 2) = I
        OArr(J, 3) = "SeqErr"
    End If
SkipI:
Next I
Sheets("Mixed").Cells.ClearContents
Sheets("Mixed").Range("A1").Resize(J, 6).Value = OArr
End Sub

Essa lavora sul foglio "Table 1" e cerca di mettere su ogni riga la domanda e le relative risposte, usando come output un foglio di nome "Mixed" che deve gia' esistere.
Se guardate l' output prodotto, esso e' abbastanza ordinato per una quarantina di righe, poi comicia a segnalare errori:
-la materia e' stata identificata dal prefisso "###"
-in colonna A c' e' la domanda
-in colonna B c' e' il rigo di Table su cui quella domanda teoricamente inizia
-in colonna C c' e' la scritta SeqErr se il numero della domanda corrente e' diverso dal numero precedente +1; tuttavia esso indica genericamente qualcosa "andato storto" nella lavorazione delle righe precedenti.
-in colonna D-E-F dovrebbero finirci le domande A, B e C; al momento le risposte sono nello stesso ordine che in Table1 per consentire di ripulire il file di partenza (in una versione successiva saranno mixate)
-altra indicazione di qualcosa andato storto e' il prefisso "ORR" in colonna A piu' SeqErr in colonna C

Ho visto che ' la situazione (sui dati in Table) che genera le situazioni di errore e' la presemza di Domande o Risposte che si sviluppano su piu' celle; in questo caso andate su Table1 alle righe precedenti a quanto indicato in colonna B di Mixed ed esaminatene la struttura. Nella maggioranza dei casi e' facile capire quale testo e' da cancellare da una riga e "accodare" a una delle righe precedenti.
In alcuni casi, il testo e' da accodae ma su una nuova riga; per fare questo:
-copiate la stringa da accodare
-andate sulla cella su cui accodare su nuova riga; premere "Alt-Enter", premere Contr-v per incollare il testo
E' il caso, ad esempio, delle righe 1119-1122, che vanno accodate su nuova riga al testo di riga 1118

Pertanto, al momento usate la macro per avere, tramite i SeqErr in colonna C e gli ORR in colonna A, l' evidenza delle anomalie sul foglio Table1; ripulite le situazioni seguendo le indicazioni appena date.

A quel punto la macro dovrebbe produrre in foglio Mixed ben ordinato, con le domande in colonna A e le possibili risposte in ordine in colonna D-E-F.
Se pubblicate il file ottenuto a quel punto, cioe' con Table1 pulito, potro' modificare la macro per avere un output con le risposte mischiate e la possibilita', come fatto su altri quesiti analoghi di selezionare la risposta e verificare se corretta.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Statix » 25/05/14 15:48

Ciao Anthony47, ciao lady,
ho impiegato un paio d'ore per pulire il foglio , sono circa 3000 domande e risposte ,ne mancano ancora 1000,
eventualmente si aggiungono dopo,
allego il file pulito

ttp://www.filedropper.com/informatica_1
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Anthony47 » 26/05/14 01:41

Non l' avevo detto, ma io avevo lavorato sul file "originale" di lady_g; rispetto a quello il nuovo layout non e' compatibile con la macro che avevo elaborato (e su cui avevo abbozzato anche il mixaggio delle risposte).
Le modifiche sono pertanto piu' vaste di quanto pensavo, spero entro domani pomeriggio di arrivare con una soluzione; inoltre e' necessario che venga inserita anche la materia (es Informatica, Telecomunicazioni, Diritto Amministrativo, etc) altrimenti non si puo' essere certi che la domanda "1" dopo la domanda "1000" non rappresenti un errore. E mi raccomando non modificare ulteriormente il layout rispetto a quanto presentato da Statix (es, mantenere la numerazione delle domande, mantenere A), B) e C) davanti alle risposte).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel]cambiare ordine delle risposte in un quiz multich

Postdi Anthony47 » 27/05/14 02:30

Vi allego il file che contiene la macro per mixare le risposte.
Il foglio Table1 va popolato con le domande /Risposte secondo il layout del file postato da Statix qui: viewtopic.php?f=26&t=102017&p=590403#p590389

Poi va eseguita la macro ShuffQuest, che riposiziona sul foglio Mixed ogni domanda e le sue possibili risposte, ma a caso.
Selezionando una risposta, se essa e' corretta la cella si colora di Verde, altrimenti di Rosso.
Cliccando in D1 verra' proposta una domanda a caso, anche se non sara' obbligatorio rispondere a quella domanda.
https://www.dropbox.com/s/4f6w0y80i4fhd ... atica.xlsb

Fatene buon uso...
Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "[Excel]cambiare ordine delle risposte in un quiz multichoice":


Chi c’è in linea

Visitano il forum: Zer0Kelvin e 13 ospiti