Condividi:        

verificare estrazioni - num. scelti

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

verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 09:25

ciao
sto impostando un piccolo file che dovrebbe controllare
le estrazioni in base ai numeri scelti di ogni partecipante.
l'impostazione e' fatta con i dati in orizzontale e questo non so se
rende la cose piu difficili al VBA ?

inizialmente vorrei riuscire a prelevare il 1mo num estratto partendo
dalla data scritta in C5 per un num di estrazioni successive pari al num scritto in D1
tali numeri scriverli in C6:AZ6

quindi passare alla verifica,
per questo penso mi basterebbe il codice riferito al primo pertecipante (pietro),
penserei poi di riuscire io a scrivere il codice per gli altri (modificando i relativi riferimenti).

considerando i num. scelti e scritti in C11:i11
confrontarli con quelli in C6:AZ6 se corrispondente riportare il numero in C12:AZ12
con sotto la relativa data C13:AZ13 :roll:
grazie
ciao

allego il file
https://docs.google.com/open?id=0B-1JnJV5VEJMVXFVX3c4VER0RWc
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 11:25

Ma i numeri inseriti non corrispondono al primo estratto dell'archivio, come mai?
che cosa è quel riquadro che si vede nel foglio Giocatori?
si può eliminare?
Inoltre 50 è il massimo numero di estrazioni da inserire?

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: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 11:28

ciao
non corrispondono perche' li ho scritti a caso x far capire.
il riquadro che appare premendo "regolamento" , dovrebbe restare.
si al momemto e 50 e' il maximo, che corrisponde al valore scritto in D1
nel caso dovessi aumentarlo penso che poi riusciro a sistemare la macro.
grazie ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 11:43

Ok questa macro compila le righe 5, 6 e 7 del foglio giocatori
per le altre è sufficiente inserire delle formule
se non riesci posta ancora
Codice: Seleziona tutto
Sub InsFGiocatori()
Set WsA = Worksheets("Archivio_UK49s")
Set WsG = Worksheets("Giocatori")
DataIni = WsG.Range("C5").Value
WsG.Range("C5:IV7").ClearContents
URA = WsA.Range("C" & Rows.Count).End(xlUp).Row
Previs = WsG.Range("D1").Value
For RRA = 3 To URA
If WsA.Range("B" & RRA).Value = DataIni Then
RigaIni = RRA
Exit For
End If
Next RRA
ColG = 0
For RRA = RigaIni To RigaIni + Previs - 1
ColG = ColG + 1
WsG.Cells(5, ColG + 2).Value = WsA.Range("B" & RRA).Value
WsG.Cells(6, ColG + 2).Value = WsA.Range("C" & RRA).Value
WsG.Cells(7, ColG + 2).Value = ColG
Next RRA
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: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 11:51

ok, funge ;)
mi consigli di controllare con formule ?
tipo ? :oops:
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 12:12

Con il cerca.orizzontale
oppure implementando la macro così
(sostituisce la precedente)
Codice: Seleziona tutto
Sub InsFGiocatori()
Set WsA = Worksheets("Archivio_UK49s")
Set WsG = Worksheets("Giocatori")
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataIni = WsG.Range("C5").Value
WsG.Range("C5:IV7").ClearContents
URA = WsA.Range("C" & Rows.Count).End(xlUp).Row
Previs = WsG.Range("D1").Value
For RRA = 3 To URA
If WsA.Range("B" & RRA).Value = DataIni Then
RigaIni = RRA
Exit For
End If
Next RRA
ColG = 0
For RRA = RigaIni To RigaIni + Previs - 1
ColG = ColG + 1
WsG.Cells(5, ColG + 2).Value = WsA.Range("B" & RRA).Value
WsG.Cells(6, ColG + 2).Value = WsA.Range("C" & RRA).Value
WsG.Cells(7, ColG + 2).Value = ColG
Next RRA
URG = WsG.Range("B" & Rows.Count).End(xlUp).Row
For RRG = 11 To URG Step 4
ContaP = 0
UcG = WsG.Cells(RRG, Columns.Count).End(xlToLeft).Column
WsG.Range(WsG.Cells(RRG + 1, 3), WsG.Cells(RRG + 2, UcG)).ClearContents
For CGio = 3 To UcG
NumG = WsG.Cells(RRG, CGio).Value
For ColG = 3 To 3 + Previs - 1
If WsG.Cells(6, ColG).Value = NumG Then
ContaP = ContaP + 1
WsG.Cells(RRG + 1, CGio).Value = WsG.Cells(7, ColG).Value
WsG.Cells(RRG + 2, CGio).Value = WsG.Cells(5, ColG).Value
End If
Next ColG
Next CGio
WsG.Cells(RRG + 1, 2).Value = ContaP
Next RRG
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Fai attenzione avrai il conteggio dei numeri indovinati maggiore di quelli che vedrai evidenziati ma dipende solo dal fatto che il numero nelle estrazioni prese in considerazione si ripete
In questo caso bisogna definire meglio cosa si deve fare.

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: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 12:50

ciao
in effetti pensavo al cerca.orizz ma non sono riuscito ad impostarlo. :oops:
la macro riportata mi sa, che mi controlla/ riporta la riga 7 non la 6 dove ci sono i numeri 1mi estratti ...

se un numero si ripete si deve scrivere ugualmente
andando a compilare le righe partendo dalla col C e senza lasciare celle vuote.

se piu semplice mi basta la macro che compila le righe 12, 13 da cella C
poi provero' a sistemarla per gli altri nomi.
grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 14:56

forse sono riuscito a correggere l'errore
facendo in modo che venfgano riportati i num di riga 6 e non 7
Codice: Seleziona tutto
Sub InsFGiocatori()
Set WsA = Worksheets("Archivio_UK49s")
Set WsG = Worksheets("Giocatori")
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataIni = WsG.Range("C5").Value
WsG.Range("C5:IV7").ClearContents
URA = WsA.Range("C" & Rows.Count).End(xlUp).Row
Previs = WsG.Range("D1").Value
For RRA = 3 To URA
If WsA.Range("B" & RRA).Value = DataIni Then
RigaIni = RRA
Exit For
End If
Next RRA
ColG = 0
For RRA = RigaIni To RigaIni + Previs - 1
ColG = ColG + 1
WsG.Cells(5, ColG + 2).Value = WsA.Range("B" & RRA).Value
WsG.Cells(6, ColG + 2).Value = WsA.Range("C" & RRA).Value
WsG.Cells(7, ColG + 2).Value = ColG
Next RRA
URG = WsG.Range("B" & Rows.Count).End(xlUp).Row
For RRG = 11 To URG Step 4
ContaP = 0
UcG = WsG.Cells(RRG, Columns.Count).End(xlToLeft).Column
WsG.Range(WsG.Cells(RRG + 1, 3), WsG.Cells(RRG + 2, UcG)).ClearContents
For CGio = 3 To UcG
NumG = WsG.Cells(RRG, CGio).Value
For ColG = 3 To 3 + Previs - 1
If WsG.Cells(6, ColG).Value = NumG Then
ContaP = ContaP + 1
WsG.Cells(RRG + 1, CGio).Value = WsG.Cells(6, ColG).Value '<<<cera scritto 7
WsG.Cells(RRG + 2, CGio).Value = WsG.Cells(5, ColG).Value
End If
Next ColG
Next CGio
WsG.Cells(RRG + 1, 2).Value = ContaP
Next RRG
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


ora rimane di scrivere tali num nelle righe 12,16,20 ecc... senza lasciare spazi vuoti
e scrivendo sempre il numero anche se si ripete con sotto la relativa data di estrazione,
in modo di avere anche una senzazione visiva di chi ne sta indovinando di piu'
al momento la macro scrive il totale corretto sotto il nome di ogni giocatore

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 16:10

La macro controlla la riga 6 e non 7
infatti
Codice: Seleziona tutto
If WsG.Cells(6, ColG).Value = NumG Then

è corretta
non so cosa tu abbia fatto per correggerla ma a me non risulta... :roll:

ti invio il file completo
Download File
I numeri di 12, 13 e 14 vengono trascritti in ogni giocatore (vedi esempio Mario dove il 17 è stato preso in data 4/11/2012, posiz 7)
Ciao

P.s. Non è possibile inserire consecutivamente i numeri presi dei vari concorrenti perché si dovrebbero cancellare i numeri non presi e non mi sembra una cosa corretta
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: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 17:45

c'e' qualcodsa che non va.

Es giocatore pietro:
come puoi notare dal file che ho scaricato in cella C12
c'e il num 27 che e' in riga 7 il giorno 14.11.12
cosi come in cella H12 c'e il num 26 che e' in riga 7 il gg 13.11.12

io vorrei compilare questa riga come in fotografia allegata.
https://docs.google.com/open?id=0B-1JnJV5VEJMa1NFd2o0R2d2M2s
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 18:49

Ok
Avevo pensato che volessi il numero corrispondente all'evento
invece vuoi riportare il numero indovinato? :roll:

se così questa macro dovrebbe risolvere...

Codice: Seleziona tutto
Sub InsFGiocatori()
Set WsA = Worksheets("Archivio_UK49s")
Set WsG = Worksheets("Giocatori")
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataIni = WsG.Range("C5").Value
WsG.Range("C5:IV7").ClearContents
URA = WsA.Range("C" & Rows.Count).End(xlUp).Row
Previs = WsG.Range("D1").Value
For RRA = 3 To URA
If WsA.Range("B" & RRA).Value = DataIni Then
RigaIni = RRA
Exit For
End If
Next RRA
ColG = 0
For RRA = RigaIni To RigaIni + Previs - 1
ColG = ColG + 1
WsG.Cells(5, ColG + 2).Value = WsA.Range("B" & RRA).Value
WsG.Cells(6, ColG + 2).Value = WsA.Range("C" & RRA).Value
WsG.Cells(7, ColG + 2).Value = ColG
Next RRA
URG = WsG.Range("B" & Rows.Count).End(xlUp).Row
For RRG = 11 To URG Step 4
ContaP = 0
UcG = WsG.Cells(RRG, Columns.Count).End(xlToLeft).Column
UcGEr = WsG.Cells(RRG + 1, Columns.Count).End(xlToLeft).Column
WsG.Range(WsG.Cells(RRG + 1, 2), WsG.Cells(RRG + 2, UcGEr)).ClearContents
For CGio = 3 To UcG
NumG = WsG.Cells(RRG, CGio).Value
For ColG = 3 To 3 + Previs - 1
If WsG.Cells(6, ColG).Value = NumG Then
ContaP = ContaP + 1
UcGE = WsG.Cells(RRG + 1, Columns.Count).End(xlToLeft).Column + 1
If UcGE < 3 Then UcGE = 3
WsG.Cells(RRG + 1, UcGE).Value = NumG
WsG.Cells(RRG + 2, UcGE).Value = WsG.Cells(5, ColG).Value
'GoTo saltaCGio  '<<<<<<< aggiungere questa riga per evitare accumulo di punti
End If
Next ColG
saltaCGio:
Next CGio
WsG.Cells(RRG + 1, 2).Value = ContaP
Next RRG
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
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: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 19:20

:D Grandeeee... flash
e' tutto ok,
sei un "mostro", anche xche oltre a saper programmare qualunque cosa
riesci sempre anche a capire -cosa vuole - il richiedente..
che non ' e' certo facile.

sistemo il file e mettero' on.linee

1000 grazie :)
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi raimea » 18/11/12 20:55

V 1.2

un piccolo accorgimento,
dopo che i numeri sono stati correttamente scritti in
esempio: in riga 12 e relativa data in riga 13
questi non sono in ordine cronologico , ma casuale.

sarebbe possibile metterli in ordine cronologico crescente, partendo dalla prima data utile in avanti ? :idea:

grazie ciao

https://docs.google.com/open?id=0B-1JnJV5VEJMSlpUT0dWeDJRVVE
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 18/11/12 22:41

raimea ha scritto:riesci sempre anche a capire -cosa vuole - il richiedente


Magari!
A volte non capisco proprio cosa si vuole. :cry:

Comunque per ordinare le date e relativo numero preso ho realizzato questa macro che richiamerai con la precedente prima della registrazione data ultimo aggiornamento
Codice: Seleziona tutto
Sub OrdinaColonne()
Set WsG = Worksheets("GIOCATORI")
URG = WsG.Range("B" & Rows.Count).End(xlUp).Row
For RRG = 12 To URG Step 4
    UcGP = WsG.Cells(RRG, Columns.Count).End(xlToLeft).Column
    MyMax = Application.WorksheetFunction.Max(WsG.Range(WsG.Cells(RRG + 1, 3), WsG.Cells(RRG + 1, UcGP)))
    MyMin = Application.WorksheetFunction.Min(WsG.Range(WsG.Cells(RRG + 1, 3), WsG.Cells(RRG + 1, UcGP)))
    For MiaD = MyMin To MyMax
        For CCD = 3 To UcGP
            If WsG.Cells(RRG + 1, CCD).Value = MiaD Then
                UcGPA = WsG.Cells(RRG, Columns.Count).End(xlToLeft).Column + 1
                If UcGPA = UcGP + 1 Then
                    UcGPA = UcGP + 2
                    ColI = UcGPA
                End If
                WsG.Cells(RRG, UcGPA).Value = WsG.Cells(RRG, CCD).Value
                WsG.Cells(RRG + 1, UcGPA).Value = WsG.Cells(RRG + 1, CCD).Value
            End If
        Next CCD
    Next MiaD
     WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).Copy Destination:=WsG.Range("C" & RRG)
     WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).ClearContents
    ' WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).Interior.ColorIndex = xlNone
Next RRG
End Sub


C'è una formattazione condizionale che mi lascia un range colorato e non riesco a capire se è un bug di excel 2010 o no.

Ciao

EDIT ore 23:00 - Confermo è un bug di 2010: excel 2003 non mostra le celle colorate
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: verificare estrazioni - num. scelti

Postdi raimea » 19/11/12 06:58

ottimo, tutto ok
ti sei aggiudicato anche la "lode" :o
10 e Lode

grazie ciao :D
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi raimea » 19/11/12 08:03

un piccolo bug , nella macro --> ordinacolonne

si blocca se nel 1mo controllo,
nessun giocatore ha scelto almeno un numero riportato nella riga 6 1mi estratti

ES.
in C5 scrivo l'ultima data utile dell' archivio, quindi mi verranno riportati solo 2 numeri.
se si tratta del 1mo controllo e nessuno ha scelto almeno 1 di questi 2 numeri la macro si blocca qui:

Codice: Seleziona tutto
WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).Copy Destination:=WsG.Range("C" & RRG)


(perche' non trova nulla da ordinare).

si dovrebbe farla proseguire fino in fondo , oppure un mesgbox.... :roll:

grazie ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 19/11/12 10:24

Veramente a me non succede
sarà excel 2003?
ora provo e ti faccio sapere
...
....
ecco!

Immagine[/URL]

Uploaded with ImageShack.us

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: verificare estrazioni - num. scelti

Postdi raimea » 19/11/12 10:40

cosi e ok
xche 2 giocatori hanno almeno un nunero, a me succede se nessuno ha almeno un numero
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago

Re: verificare estrazioni - num. scelti

Postdi Flash30005 » 19/11/12 15:54

Ok
Alla fine della macro ordina
devi inserire la condizione che evidenzio

Codice: Seleziona tutto
    Next MiaD  '<<<<<<<< esistente
    If ColI <> "" Then  '<<<<<<<< <<<<<<<<<<<aggiungere
        WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).Copy Destination:=WsG.Range("C" & RRG)  '<<<<<<<< esistente
        WsG.Range(WsG.Cells(RRG, ColI), WsG.Cells(RRG + 1, UcGPA)).ClearContents   '<<<<<<<< esistente
     End If    '<<<<<<<< <<<<<<<<<<<aggiungere
Next RRG   '<<<<<<<< esistente
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: verificare estrazioni - num. scelti

Postdi raimea » 19/11/12 17:44

tutto ok
risolto
grazie mille
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1408
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "verificare estrazioni - num. scelti":


Chi c’è in linea

Visitano il forum: Nessuno e 48 ospiti