Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Estrarre un nome random

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

Estrarre un nome random

Postdi Rola95 » 06/08/16 16:21

Salve ragazzi mi presento mi chiamo Roberto sono alle primissime armi con VBA quindi le mie domande saranno banalissime ma in qualche modo devo iniziare.
Vorrei estrapolare da 10 nomi che sono incolonnati dalla cella A1 alla A10 tramite una macro un solo nome ad esempio nella cella B10 che sia completamente random al click di un pulsante (questo lo so creare ☺) ovvero che cambi tutte le volte e che sia random ovvero che non sia sempre uguale quando apro excel penso che sia randomize sfruttando il timer del sistema.
Grazie in anticipo a tutti.
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Sponsor
 

Re: Estrarre un nome random

Postdi alfrimpa » 06/08/16 18:39

Ciao Roberto

Forse non è il caso di scomodare le macro/VBA.

Credo si possa raggiungere lo scopo con le formule CASUALE.TRA che ad ogni ricalcolo del foglio restituisce un numero random compreso tra quelli inseriti.

Poi dopo aver creato una tabella dove metti in colonna A i numeri ed i nomi in colonna B con un CERCA.VERT che punti alla cella ove è inserito il CASUALE.TRA ti restituisca un nome casuale.

Ora sono fuori e non ho il pc per cui non posso allegarti un file di esempio ma spero di essere stato chiaro.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi Rola95 » 06/08/16 18:50

Grazie 1000 Alfredo,
aspetto un tuo esempio bello esplicito perchè ho trovato anche io con casuale.tra ma tutte le volte che refreshio la pagina il nome cambia (ovviamente ci sta che sbaglio qualcosa io) mentre io vorrei che dopo estratto rimanesse per sempre.
Su un'altra tabella con dei numeri sono riuscito con una macro ma con i nomi non riesco :-(
Grazie 1000 dell'interessamento :-)
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi alfrimpa » 06/08/16 21:41

Ok ci aggiorniamo a lunedì
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi alfrimpa » 08/08/16 08:31

Ciao Roberto eccomi qua.

Non so se ho ben capito la tua esigenza comunque ti allego file

http://www.filedropper.com/rola95

dove ho inserito la seguente macro associata ad un pulsante sul foglio1

Codice: Seleziona tutto
Sub estraicasuale()
Dim cas As Integer
Dim rng As Range
Set rng = Range("a1:b10")
cas = Int((10 - 1 + 1) * Rnd + 1)
Range("C10").Value = Application.WorksheetFunction.VLookup(cas, rng, 2, False)
End Sub


E' possibile fare in modo che anziché al clic sul pulsante il codice venga eseguito all'apertura del file o all'attivazione di un foglio o anche altro.

Fammi sapere
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi Rola95 » 08/08/16 22:59

Grazie 1000 Alfredo, scusami se visualizzo e rispondo solo ora ma ero fuori città...
Funziona alla grandissima!!!!
Ti ringrazio tanto dell'aiuto :)
Sicuramente ti disturberò per altre cose...
Nel frattempo ti chiedo se esiste un sito online dove posso imparare le nozioni base.
Grazie ancora e Buona serata.
Roberto
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi Rola95 » 08/08/16 23:49

Sub Giornata1()
Range("R18").Select
Valmax = 6
Randomize
ActiveCell.FormulaR1C1 = Int(Rnd() * Valmax)
Range("S18").Select
Valmax = 6
Randomize
ActiveCell.FormulaR1C1 = Int(Rnd() * Valmax)

If Range("R18") = 1 Then
Dim cas As Integer
Dim rng As Range
Set rng = Range("h4:i13")
cas = Int((10 - 1 + 1) * Rnd + 1)
Range("Q20").Value = Application.WorksheetFunction.VLookup(cas, rng, 2, False)
End If
If Range("R18") = 2 Then
Set rng = Range("h4:i13")
cas = Int((10 - 1 + 1) * Rnd + 1)
Range("Q20").Value = Application.WorksheetFunction.VLookup(cas, rng, 2, False)
Range("Q21").Value = Application.WorksheetFunction.VLookup(cas, rng, 2, False)
End If
'ActiveSheet.Shapes("Giornata1").Select
'Selection.Delete
End Sub

Grazie al tuo aiuto sto andando avanti con il mio piccolo progetto ora mi manca una cosina...
Ho allegato sopra il codice che mi hai dato te adeguandolo a quello che serve a me...
Il problema è che se mi esce il numero 2 lui (penso giustamente) mi da sempre il solito nome quando lo estrae sia nel
Q20 che Q21..
Come faccio a dirgli che Q20 e Q21 devono essere slegati tra loro, o meglio devono essere indipendenti tra loro ma casualmente potrebbero essere anche uguali (ma solo casualmente)... Quindi casuale il Q20 e casuale il Q21.

Se ti scoccio dimmelo tranquillamente Alfredo che l'abbozzo subito :-)
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi alfrimpa » 09/08/16 09:11

Ciao Roberto

Stai tranquillo che non scocci proprio nessuno :)

Per capire meglio il tutto dovresti allegare un file di esempio con i dati (non sensibili) e spiegare bene l'obiettivo che vuoi raggiungere inserendo magari manualmente il risultato desiderato ed inoltre avendo il file si possono fare dei test.

Con il solo codice non è sempre facile capire.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi Rola95 » 09/08/16 11:37

Grazie 1000 Alfredo ancora per la tua gentilezza e disponibilità.
Quando torno a casa metto il file in modo che sia tutto più comprensibile :)
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi Rola95 » 09/08/16 14:54

Ciao Alfredo,
ti ho inviato un MP.... Ti è arrivato?
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi alfrimpa » 09/08/16 15:17

Si mi è arrivato ma per correttezza verso il forum continuiamo qui la discussione

Metto il link anche qui.

http://www.filedropper.com/provaconmacroalfredo
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi Rola95 » 09/08/16 15:29

Perfetto, chiedo scusa non lo sapevo che andava messo qui :-)
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15

Re: Estrarre un nome random

Postdi alfrimpa » 09/08/16 15:39

Il tuo file contiene collegamenti al tuo desktop che ovviamente non ho.

Vedo che sul foglio ci sono due pulsanti giornata1 e giornata2 mi spieghi meglio cosa deve succedere alla loro pressione?

Poi mi devo studiare le macro che hai fatto; il problema è che venerdì vado in ferie per cui se tu spieghi meglio la cosa è possibile che qualcuno intervenga in tuo aiuto prima del mio rientro.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Estrarre un nome random

Postdi Rola95 » 09/08/16 15:47

Quando schiacci il pulsante genera il risultato e mette i marcatori.
Esempio: Giornata 1 il risultato è 4-0 mette i 4 marcatori
Giornata 2 il risultato è 0-3 mette i 3 marcatori
andandoli a pescare dai 10 nomi in modo casuale anche con doppioni.
Rola95
Newbie
 
Post: 9
Iscritto il: 06/08/16 16:15


Torna a Applicazioni Office Windows


Topic correlati a "Estrarre un nome random":


Chi c’è in linea

Visitano il forum: flakmask, patel, raimea e 8 ospiti