Condividi:        

ESTRAZIONE NOME GIOCATORE DA ELENCO

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

ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 18/08/12 16:09

Salve a tutti,
perdonate la mia incapacità, ma non sto riuscendo a creare tramite i vostri esempi (ma non a causa di essi, bensì del sottoscritto) un file in Excel che mi permetta di estrarre un solo nome alla volta, senza ripetizioni da un elenco. Cerco di spiegarmi meglio. Quest'anno per la prima volta devo organizzare l'asta del fantacalcio. Volevo creare un programmino che all'inserimento dell'intera lista dei calciatori (in colonna A) e squadra di appartenenza (in colonna B) possa darmi in un altro foglio di calcolo un unico risultato casuale alla volta senza che il giocatore possa essere estratto nuovamente successivamente. Spero di essere stato chiaro e che possiate aiutarmi, perchè non sono molto pratico. grazie in anticipo.
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Sponsor
 

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 19/08/12 00:49

Ciao Zanzarino2009 e benvenuto nel Forum

Hai provato a fare una ricerca, in questa sezione, con chiave "fantacalcio"?
ci sono link come questo
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=92851&hilit=fantacalcio

Oppure con chiave "nomi casuali" avresti trovato questo
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=86161&p=490043&hilit=Nomi+casuali#p490043
con una macro che sorteggia i nomi posti in colonna A
(vedi post del 26/04/10 ore 13:52)

Prova e in caso di dubbio posta ancora
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi raimea » 19/08/12 08:12

prova anche questo zip
contiene 3 programmini a riguardo

http://dl.dropbox.com/u/96374724/Downloads.rar
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 19/08/12 14:04

Grazie mille per le risposte. Il secondo link che mi ha mandato flash è quello che avevo trovato. Solo che non riesco a modificarlo. In quanto io avrei bisogno di una sola estrazione per volta e non molte insieme. E la cosa importante è che quando vado ad estrarre volta per volta i dati non vengano ripetuti. Grazie ancora e vi chiedo scusa per l'inesperienza.
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 19/08/12 17:48

Ok,
allora allega il file con l'elenco e, se necessario, (se occorre riportarle) anche le squadre in colonna B.

ciao

P.s. la procedura per "allegare" i file è descritta nel topic all'inizio di questa sezione

EDIT ore 19:20 - Nel frattempo ho realizzato questa macro che riporta casualmente ciò che è scritto nella colonna A del foglio1, nella colonna A del foglio2.
La testata (cella A1) viene trascritta nel foglio2 ad ogni avvio macro.
Codice: Seleziona tutto
Sub NomiCasuali()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
Ws2.Columns(1).ClearContents
Ws2.Range("A1").Value = Ws1.Range("A1").Value
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
Randomize (Timer)
For NC = 2 To UR1
    UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
Casuale:
    Ncas = Int(Rnd() * UR1) + 1
    If Ncas < 2 Then
        GoTo Casuale
    Else
        For RC2 = 2 To UR2
            If Ws2.Range("A" & RC2).Value = Ncas Then GoTo Casuale
        Next
    End If
Ws2.Range("A" & UR2).Value = Ncas
Next NC
End Sub
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 20/08/12 19:05

Nel foglio2 all'avvio della macro esce il primo nome della lista che ho inserito nel foglio 1 e poi solo numeri tutti insieme. mentre io vorrei solo i nomi del calciatore (colonna a del foglio 1) e il nome della squadra di appartenenza (colonna b del foglio 1). e uno alla volta ad ogni avvio della macro. Sbaglio io in qualcosa?
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 20/08/12 20:28

Hai ragione
Il primo nome è la testata (quindi non deve essere un nome ma es.: "Giocatore")
poi usa questa
Codice: Seleziona tutto
Sub NomiCasuali()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
Ws2.Columns(1).ClearContents
Ws2.Range("A1").Value = Ws1.Range("A1").Value
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
Randomize (Timer)
For NC = 2 To UR1
    UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
Casuale:
    Ncas = Int(Rnd() * UR1) + 1
    If Ncas < 2 Then
        GoTo Casuale
    Else
        For RC2 = 2 To UR2
            If Ws2.Range("A" & RC2).Value = Ncas Then GoTo Casuale
        Next
    End If
Ws2.Range("A" & UR2).Value = Ws1.Range("A" & Ncas).Value
Next NC
End Sub

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 20/08/12 20:38

Ho provato la macro inserendo alla prima riga Giocatore e effettivamente funziona, ma non come vorrei io. Scusami se sono così rompiscatole. innanzitutto mi escono solo i dati della colonna a e non accoppiati quelli della colonna b del foglio1. L'altro problema è che io voglio abbinare un pulsante e ad ogni click abbinare una sola estrazione, senza che quelli usciti in precedenza possano nuovamente uscire. E' possibile tutto questo? Scusami se ti sto facendo uscire pazzo, ma purtroppo non sono capace a farlo.
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 20/08/12 21:05

Ok allora usa questa macro
Codice: Seleziona tutto
Sub NomiCasuali()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
Randomize (Timer)
For NC = 2 To UR1
    UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
    If UR2 - 1 = UR1 Then
    MsgBox "Non ci sono altri nomi da estrarre"
    Exit Sub
    End If
Casuale:
    Ncas = Int(Rnd() * UR1) + 1
    If Ncas < 2 Then
        GoTo Casuale
    Else
        For RC2 = 2 To UR2
            If Ws2.Range("A" & RC2).Value = Ws1.Range("A" & Ncas).Value Then GoTo Casuale
        Next
    End If
Ws2.Range("A" & UR2).Value = Ws1.Range("A" & Ncas).Value
Ws2.Range("B" & UR2).Value = Ws1.Range("B" & Ncas).Value
Exit For

Next NC
End Sub

Sub CancellaSorteggio()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
Ws2.Columns(1).ClearContents
Ws2.Columns(2).ClearContents
Ws2.Range("A1").Value = Ws1.Range("A1").Value
Ws2.Range("B1").Value = Ws1.Range("B1").Value
Call NomiCasuali
End Sub


Abbina un comando o forma alla macro "NomiCasuali"
e un altro comando o Forma alla macro "CancellaSorteggio"

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 21/08/12 16:17

Ottimo!!! Manca solo un'ultima cosa. Ossia il fatto di cancellare in foglio 2 volta per volta l'estrazione, per far in modo che l'estrazione del giocatore compaia sempre nella stessa riga, e non fare un'elenco di esse. Non so se sono stato chiaro :-?
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 21/08/12 22:17

Stavolta non è chiaro cosa vorresti
ovvero da quest'ultimo post sembrerebbe che tu voglia solo un nome non un'estrazione casuale sequenziale dei nomi (nome dopo nome)

Ma a questo punto a cosa servirebbe la macro che controlli se il nome sia già uscito?
se cancelli ogni volta ed effettui un'estrazione casuale di un solo nome con successiva cancellazione
potresti ottenere lo stesso nome in due estrazioni consecutive (casualmente può avvenire, anzi potrebbe verificarsi più volte l'uscita dello stesso nome)
Dai primi post, invece affermavi che l'estrazione causale non doveva ripetere nomi già estratti e questo contrasta con l'ultimo post. :roll:

A meno che non voglia utilizzare una UserForm nella quale viene aggiornato il nome estratto e mantenere l'elenco nascosto per evitare ripetizioni, insomma una cosa del genere
download file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 22/08/12 10:03

Non so se quello che vorrei sia una cosa possibile. Premettendo che la macro da te creata è esattamente quello di cui avevo bisogno. Quello che mi chiedo è, conservando il fatto che l'estrazioni non devono ripetersi più di una volta, se fosse possibile visualizzare esse sempre nella stessa riga senza visualizzare quelle precedenti. Ma è solo un qualcosa di visivo, che non deve mutare la funzionalità della macro (ossia non far ripetere più di una volta la stessa estrazione). Spero sia un po' più chiara così la mia spiegazione. Grazie comunque per tutto.
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 22/08/12 12:41

Ma hai scaricato e provato il file che ho allegato nel post precedente?
penso che faccia ciò che hai chiesto ma non hai fornito alcun feedback :aaah

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi zanzarino2009 » 22/08/12 16:38

Grandissimo!!!! Proprio ciò che mi serviva!!!! Grazie mille :)
zanzarino2009
Utente Junior
 
Post: 50
Iscritto il: 18/08/12 15:48

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi lextat » 02/09/12 01:09

Innanzitutto complimenti per il file excel "estrazionecasuale" che eviterà al mio fantacalcio di quest'anno
il tremendo spicinio di bigliettini per l'estrazione dei giocatori da asteggiare 8)

Volendo ampliare/migliorare il progetto mi piacerebbe capire se fosse possibile :
- aggiungere un tasto al form che possa interrompere la macro senza che poi si resetti l' estrazione
(una sorta di "pausa" per poi riprendere da dove interrotto senza che la lista di quelli gia estratti venga cancellata)

- Sempre nel Form , poter associare ciascun giocatore sorteggiato alla fantasquadra che se l'è aggiudicato col relativo costo
in modo da avere la situazione di quanto speso per ciascun team sempre sott' okkio
(nonchè tutti i giocatori acquistati nel corso della serata team x team)

Con queste 2 piccole ma GRANDI modifiche sarebbe un programma completo di sorteggio/assegnazione/calcolo soldi residui
che farebbe la felicità di molti gruppi come il mio....

grazie dell'attenzione e spero di poter avere qualche news prima di martedì serata di asta

L
lextat
Newbie
 
Post: 5
Iscritto il: 02/09/12 00:50

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 02/09/12 02:05

Ciao Lextat e benvenuto neol Forum

:?:
Inizio la risposta con un punto interrogativo
perché l'ultimo file inviato ad ogni click sul tasto "Estrai un nome"
estrae il nome giocatore e squadra di appartenenza
L'estrazione è così veloce che non è possibile (anche avendo riflessi da supereroe) fermare la macro
non si fa in tempo a cliccare su un secondo pulsante.

Per quanto riguarda il secondo quesito direi che hai un'esigenza totalmente diversa da quella di Zanzarino
Zanzarino aveva i giocatori già assegnati ad una squadra
tu, invece, (mi sembra di capire) che voglia sorteggiare i giocatori per assegnare loro una squadra.
Credo sia opportuno a questo punto che tu inserisca i dati (nome giocatore, squadra, costo) in un foglio di excel e lo inviassi come link per il download nel prossimo post

Per allegare il file segui questa procedura

Ricorda che devi avere almeno 3 post in tutto il Forum (ne puoi fare due "a vuoto").

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi lextat » 02/09/12 10:02

Ti ringrazio intanto per la pronta risposta "in notturna" :o

Quello che volevo dire con la prima richiesta, non era una specie di prova di velocità tra la pressione del tasto estrai,
ed un secondo che volesse in qualche modo fermare la macro..(non mi sono spiegato correttamente ora ci riprovo)

E' possibile fare in modo che il pulsante estrazione una volta usciti dalla macro e rilanciata, ricominci ad estrarre da dove era stata interrotta (non risorteggiando di fatto i giocatori estratti fino a quel punto?)

Il lavoro è gia ottimo così , questa richiesta nasce dal fatto che ad un certo punto si arriva a fine della seconda pagina e non si riesce piu a vedere i giocatori estratti... e se per caso si incappa nel reset o la macro viene chiusa tocca ricominciare tutto da capo..

Lex
lextat
Newbie
 
Post: 5
Iscritto il: 02/09/12 00:50

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi lextat » 02/09/12 10:11

seconda richiesta .. mi spieco (così intanto arrivo a 3 msg :D )

la richiesta è di fatto un arricchimento di quanto gia fatto per Zanzarino

data per ok la prima parte , a me basterebe che nello stesso foglio 1 di excel (dove c'è la lista giocatori/squadra )
si potessero inserire i nomi delle nostre 10 squadre in una terza colonna "C" e che poi nella Form ci fosse un menu a tendina con ueste stesse 10 squadre in modo che subito dopo l' estrazione con la macro stessa, si potesse abbinare detta squadra a detto giocatore estratto e questo apparisse in pagina 2 .. una cosa del tipo

NOME GIOCATORE - SQUADRA APPARTENENZA - TEAM ASSOCIATO

PIRLO JUVENTUS DINAMOMISCI
lextat
Newbie
 
Post: 5
Iscritto il: 02/09/12 00:50

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 02/09/12 10:41

Vediamo se così va bene
all'interno del modulo1
c'è una macro con nome "IniEstr" sostituiscila con questa
Codice: Seleziona tutto
Sub IniEstr()
If Worksheets("Foglio2").Range("A2").Value <> "" Then
Messaggio = MsgBox(Prompt:="Vuoi Resettare la precedente estrazione ?", Buttons:=vbYesNo)
If Messaggio = 6 Then CancellaSorteggio
End If
UserForm1.TextBox1.Value = ""
UserForm1.TextBox2.Value = ""
UserForm1.Show
End Sub


Per il secondo quesito mi aspetto il file aggiornato, con la macro modificata e tue specifiche sul file stesso
Perché non riesco a comprendere l'associazione che, essendo già esistente in colonna C del foglio1
come vorresti che apparisse nel foglio2:
1) se prendere la stringa sempre dalla colonna C del foglio1
oppure
2) dalla listbox dell'userform
In quest'ultimo caso si rischierebbe di dare più giocatori ad un Team Assiociato che ad un altro
visto che parli di sceglierlo da una listbox (essendo quest'ultima svincolata per la scelta)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ESTRAZIONE NOME GIOCATORE DA ELENCO

Postdi Flash30005 » 02/09/12 16:19

Nell'attesa di un tuo invio file come richiesto nel mio post precedente (leggilo per cortesia)
avrei realizzato questo tipo di sorteggio che, forse, dovrebbe corrispondere a quanto chiedevi altrimenti rimane come una piccola utility per amatori di sorteggi condizionati.
Rispetto al precedente file abbiamo appunto un combox nell'userform con l'elenco dei Team prelevati dalla colonna O
Questo elenco è rielaborato ogni volta in quanto riporta voci univoche trovate nella colonna C (quindi i Team saranno a fianco di ogni Giocatore in col A, squadra in colonna B).
In colonna P viene conteggiato il numero di giocatori per team, anche questo elenco viene di volta in volta ricalcolato.
All'apertura della maschera nel combox apparira la dicitura "Tutti i Team" e la macro funziona come nella precedente versione con l'implementazione di poter fermare con la X (chiudendo l'userform) e riprendere l'estrazione senza cancellare le estrazioni precedenti rispondendo al messaggio di "Non cancellare" (premendo NO).

Invece scegliendo un Team nel combox la macro sorteggerà solo i giocatori/squadra di quel team una volta estratti tutti i giocatori di quel team un messaggio avvisera che non ci sono più giocatori da estrarre e si può procedere al sorteggio di giocatori di un altro team senza che la macro cancelli il sorteggio del team precedente.

E' più complicato spiegare il funzionamento che non usare questa simpatica utility per questo Allego il File

Ciao

P.s. Attualmente l'elenco del sorteggio si visione solo dopo aver chiuso la maschera e rendendo attivo il foglio2 perché la suspence di vedere un nome alla volta (quello sorteggiato) è maggiore anche perché era stata questa larichiesta iniziale, ma se dovesse occorrere si può modificare la macro affinché si possa visualizza direttamente il foglio 2 con l'userform che lavori in primo piano e l'elenco come sfondo, in questo caso man mano che si sorteggia si vede l'elenco "crescere" di nome in nome.
Attendo consigli in merito
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "ESTRAZIONE NOME GIOCATORE DA ELENCO":


Chi c’è in linea

Visitano il forum: Gianca532011 e 71 ospiti