Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CASUALE.TRA

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

CASUALE.TRA

Postdi wardrome » 10/02/15 23:42

Salve a tutti, avevo una domanda riguardo questa funzione.

Se nella cella A1 inserisco il comando "=CASUALE.TRA(1;90)", nella medesima cella avrò un numero casuale tra 1 e 90 compreso.
Se faccio la stessa cosa nella cella B1 avrò la medesima possibilità (un numero tra 1 e 90 compreso) con la possibilità di generare lo stesso numero presente in A1.

Sapendo che può non essere molto frequente, da funzione, come posso fare per evitarlo sicuramente?
(avevo pensato di aggiungere o sottrarre un numero, ma vorrei generarlo nuovamente)

Grazie a tutti :)
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24

Sponsor
 

Re: CASUALE.TRA

Postdi Anthony47 » 11/02/15 00:37

Non puoi farlo direttamente, ma servono colonne di appoggio per farlo con formule; oppure si fa con macro.
Però dovresti spiegare se vuoi estrarre alcuni numeri (quanti?) o tutti.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CASUALE.TRA

Postdi wardrome » 11/02/15 00:47

vorrei che nelle prime x celle (ad esempio da A1 a F1) vengano generati numeri diversi tra loro e tutti compresi tra 1 e 90.
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24

Re: CASUALE.TRA

Postdi Flash30005 » 11/02/15 01:14

Con macro risolvi così
Codice: Seleziona tutto
Sub NumCas()
Ripeti:
Range("A1:F1").ClearContents
For NC = 1 To 6
Cas = Int(Rnd(90) * 90) + 1
If Evaluate("=COUNT(Foglio1!A1:F1)") = 6 Then
 Risp = MsgBox(Prompt:="Numeri terminati: Vuoi Resettare l'estrazione?", Buttons:=vbYesNo)
 If Risp = 6 Then GoTo Ripeti
Exit Sub
End If
If Evaluate("=COUNTIF(Foglio1!A1:F1," & Cas & ")") = 1 Then GoTo Ripeti
Cells(1, NC).Value = Cas
Next NC
End Sub


Ciao

Edit: E benvenuto nel Forum :)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: CASUALE.TRA

Postdi wardrome » 11/02/15 01:24

Provo, grazie. :)

Eventualmente, se incontro difficoltà o se ho altri dubbi posso disturbarvi ancora?
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24

Re: CASUALE.TRA

Postdi Flash30005 » 11/02/15 01:29

Siamo qui per questo e senza alcun disturbo se chiedi come hai fatto finora :)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: CASUALE.TRA

Postdi Flash30005 » 11/02/15 01:37

Rivedendo la macro ho notato delle anomalie e situazioni illogiche ma è dovuto al fatto che sono codici presi da altre mie macro e assemblati
Questa macro è più corretta
Codice: Seleziona tutto
Sub NumCas()
Inizio:
For NC = 1 To 6
Ripeti:
Cas = Int(Rnd(90) * 90) + 1
If Evaluate("=COUNT(Foglio1!A1:F1)") = 6 Then
 Risp = MsgBox(Prompt:="Numeri terminati: Vuoi resettare l'estrazione precedente?", Buttons:=vbYesNo)
 If Risp = 6 Then GoTo Eccesso
Exit Sub
End If
If Evaluate("=COUNTIF(Foglio1!A1:F1," & Cas & ")") = 1 Then GoTo Ripeti
Cells(1, NC).Value = Cas
Next NC
Exit Sub
Eccesso:
Range("A1:F1").ClearContents
GoTo Inizio
End Sub
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: CASUALE.TRA

Postdi wardrome » 11/02/15 14:55

Immagine

Salve a tutti, e bentrovati.
Ho provato entrambi i codici, in allegato vi posto l'immagine in riferimento al secondo codice suggerito, ma la funzione si blocca e mi segnale un errore.

Il testo del codice è stato copiato e incollato paro paro.

Dove commetto errori?

Grazie ancora a tutti :)
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24

Re: CASUALE.TRA

Postdi ricky53 » 11/02/15 15:12

Ciao,
non dipende da te ... però potevi dirlo che NON utilizzavi MS-Office !

Non tutte le istruzioni VBA di MS-Office possono essere utilizzate in "O-O".
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: CASUALE.TRA

Postdi wardrome » 11/02/15 15:18

ah ok. Provo su Office.
Credevo fosse la stessa cosa, perdonatemi. :P
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24

Re: CASUALE.TRA

Postdi wardrome » 11/02/15 15:26

Ottimo! :)

funziona alla grande. Grazie infinite.
La discussione può anche essere chiusa. :)
wardrome
Newbie
 
Post: 9
Iscritto il: 10/02/15 23:24


Torna a Applicazioni Office Windows


Topic correlati a "CASUALE.TRA":


Chi c’è in linea

Visitano il forum: raimea e 5 ospiti