Condividi:        

3 condizioni nella stessa sequenza

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

3 condizioni nella stessa sequenza

Postdi raimea » 08/11/10 20:11

sto cercando una formula, o una combinazione di casi che
riesca a soddisfare 3 condizioni nella stessa "sequenza" .

le prime 2 ci sono riuscito ma sono fermo x riuscire a soddisfare la 3za.

provo a descrivere:

condizione 1,
ad ogni vincita si rigioca il totale
se in Col M ci sono 5 "v" consecutivi
alla 6ta partita ri.gioca il valore iniziale Es. 10 (quota base).

condiz.2
se c'e una perdita P la punt successiva e' il doppio di quanto perso
solo che ora si devono avere 3 segni consecutivi V
prima di ri.partire dalla quota base Es.10

condiz.3
se in una "sequenza " si presentano 3 segni P
allora si chiudera' la sequenza dopo 2 segni V consecutivi.
per le condiz 1 & 2 sono riuscito a risolvere
ma mi sono impantanato per soddisfare questa 3za condizione....

nel foglio ci sono varie colonne di appoggio disponibili maaa....

allego un file x esempio
http://rapidshare.com/files/429648366/prove.zip
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: 3 condizioni nella stessa sequenza

Postdi Anthony47 » 10/11/10 22:26

Vedo che nessuno si e' fatto avanti, forse tutti hanno avuto la mia stessa reazione. non si capisce la logica che hai descritto.
Ad esempio (in Maiuscolo+verde le mie considerazioni accanto alle tua informazioni):
condizione 1,
ad ogni vincita si rigioca il totale E SE NON SI VINCE? COME SI RICONOSCE NEL FOGLIO CHE C' E' UNA VINCITA?
se in Col M ci sono 5 "v" consecutivi E SE NON CI SONO? QUESTA LOGICA E' DA REALIZZARE RIGA PER RIGA, PER CUI SI PARLA DEGLI "ULTIMI 5 VALORI DI COL M, O SU TUTTO IL CONTENUTO DI COL M?
alla 6ta partita ri.gioca il valore iniziale Es. 10 (quota base). COME SI RICONOSCE CHE SIAMO ALLA 6° PARTITA?

Le alre due condizioni sono anche loro una collezione di cose da me incomprese.

In questa situazione ho poco da suggerire se non di provare a descrivere il altro modo il problema.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: 3 condizioni nella stessa sequenza

Postdi raimea » 10/11/10 23:44

ai ragione a descrivere non e' semplice.
simulando con il file allegato mettendo "v" oppure "p" in col M puo essere d'aiuto.
provo a essere piu preciso.
la progressione -base, prevede 5 volte v consecutive - cosa non semplice da realizzare.
con 5 v consecutive la progressione si considera chiusa, quindi la 6ta partita si ri.gioca il valore iniziale.

se succede una "p", la puntata successiva sara' pari al doppio del valore. perso.
ora xro ORA , si devono avere 3 "v" consecutive x considerare la progr, chiusa.

ad ogni vincita si rigioca il totale E SE NON SI VINCE? COME SI RICONOSCE NEL FOGLIO CHE C' E' UNA VINCITA?
se in Col M ci sono 5 "v" consecutivi E SE NON CI SONO? QUESTA LOGICA E' DA REALIZZARE RIGA PER RIGA, PER CUI SI PARLA DEGLI "ULTIMI 5 VALORI DI COL M, O SU TUTTO IL CONTENUTO DI COL M?
alla 6ta partita ri.gioca il valore iniziale Es. 10 (quota base). COME SI RICONOSCE CHE SIAMO ALLA 6° PARTITA?

se non si vince quindi c'e una P la punt successiva e' il doppio di quanto perso.
se c'e una vincita in colonna M si scrive V.
si parla - SI' - dei valori in Col. M ma si prendono in consideraz ad ogni inizio sequenza, x questo la COl. S
riporta a che valore si e' arrivati.
si riconosce la 6ta partita solo nel caso si riescono a fare 5 V consecutive.

quello che non riesco a gestire consiste nel riconoscere nella stessa prograssione 3 o PIU' segni P
(non x forza consecutivi), in tal caso dopo 3 o PIU di 3 segni P, la progressione si deve chiudere con 2 segni V consecutivi.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi raimea » 11/11/10 00:04

metto il file anche qui


http://www.sendspace.com/file/g2a10y

xche' ultimamente usare rapidshear e' diventato.... :evil:
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi raimea » 13/03/11 21:35

ci riprovo :-?
non sono ancora riuscito a trovare una soluzione per questo... (nel foglio-base)
la difficolta consiste nel far capire alle formule dove inizia la -progressione- e
quindi fare in modo che esse si riferiscano da quella riga in poi...
senza considerare gli eventi della progressione precedente.

(dopo una perdita P il valore successivo in col H e' il doppio del valore
appena perso)

per ora tutto funziona se nella sequenza c'e 1na sola perdita ,( in col M c'e un solo valore P )

il motodo deve funzionare cosi :

inizio progres a 10
1caso)--> dopo 3 vittorie in col M v-v-v ricomincio da 10
2caso) --> v-v-p-v-v-v ricomincio da 10
3caso)--> v-p-v-p-vv ricomincio da 10 dopo solo 2 V consec, xche
in questa sequenza ci sono 2 perdite P

4caso)-->p-p-v-v ricomncio da 10

dopo questo caso se simulate piu vittorie consecutive il " metodo"
non rispetta correttamente le regole sopra descritte.

nel file on.linee alla cella h41 avrebbe dovuto scrivere 10
ho notato che in particolare il problema si presenta quando ci sono stati
2 segni P consecutivi.

http://www.sendspace.com/file/rfkhps
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi Anthony47 » 14/03/11 00:09

Ricordo questa domanda e ricordo che avevo "abbandonato" perche' continuavo a non capire che cosa rappresentano quei dati e perche' sono organizzati cosi'. E poi perche' la casistica e' ben piu' complessa dei 4 casi che hai elencato tu. Se infatti ci sono 5 (o 6?) valori V/P in sequenza, questi possono dare luogo a 32 (o 64) combinazioni.

Se puoi preparare una tabella dove per ogni combinazione di p/v (32 combinazioni se bisogna esaminare 5 righe, o 64 se ne vanno esaminate 6) puoi indicare se va restartata la sequenza allora posso probabilmente darti una formula.
La tabella che dovresti preparare grosso modo fa cosi':
Codice: Seleziona tutto
Combinazioni /Restart
p /No
 v /N
 vp /N
 vv /N
 vpp /N
 vpv /N
 vvp /N
 vvv /Si
 vppp /N
etc
. . .
vvvp /Err
vvvv /Err
vppp /N
etc

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: 3 condizioni nella stessa sequenza

Postdi raimea » 14/03/11 10:47

ok, ho compilato una tabella con le combinazioni che mi si possono presentare in una sequenza.
ne ho trovate 28 combinazioni, spero di averle messe tutte.

Immagine

Uploaded with ImageShack.us


quindi in col H del foglio bese, si dovrebbe controllare se si e' verificata una di queste sequenze,
in modo che al verificarsi si ricomincia con una nuova sequenza.

nel file allegato la tabella l'ho compilata sia in orizzintale che verticale nel caso ci sia necessita'.

http://www.sendspace.com/file/k9yfw4

capisco che non e' semplice spiegare-capire queste cose, se non si e'
pienamente coinvolti nel "progetto."
quindi vi ringrazio per la pazienza.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi Flash30005 » 14/03/11 12:27

Io ho provato a ottenere quei dati con una macro che sarà sicuramente da mettere a punto

Codice: Seleziona tutto
Sub CalcPuntata()
    URP = Worksheets("1-luga.1x-Fogl.Base").Cells(Rows.Count, 13).End(xlUp).Row
    NV = 1
    NP = 0
    SPV = 0
    Range("H9").Value = 10#
    For RP = 10 To URP
    If RP = 18 Then MsgBox RP
    If SPV = 6 Then
        Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp

    End If
    If (NV = 3) And Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp
    End If
    If Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = Int(Range("K" & RP - 1).Value + 0.99)
        NV = NV + 1
        'Np = 0
    Else
        Range("H" & RP).Value = Range("H" & RP - 1).Value * 2
        NP = NP + 1
        If NP > 1 Then NV = 0
        'NV = 0
    End If
     SPV = SPV + 1
     If NP = 2 And NV = 2 Then
     Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
     End If
saltaRp:
    Next RP
   
End Sub


Fai sapere
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: 3 condizioni nella stessa sequenza

Postdi Anthony47 » 14/03/11 15:39

Lavorero' su questa tabella; mi pare che la colonna a sx (foglio Combinazioni VERT) corrisponda ai dati piu' vecchi, giusto?
Penso di darti una soluzione per determinare se il ciclo va restartato, senza nessuno sforzo per applicare questa informazioni nelle varie colonne: ti e' sufficiente?

Sempre se non risolvi con la macro di Flash (vedi sopra)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

piu condizioni nella stessa sequenza

Postdi raimea » 14/03/11 20:43

penso che la macro sia la strada giusta,
anche se ci sono alcuni accorgimenti vedo che fa gia molto... :P

1) dopo 3 V-V-V non mette subito la quota base ma fa un v_v_v_v --> 4 vinte che non c'e in tabella.
2) la macro mi scrive l'importo corretto da scommettere ma solo SE prima ho scritto l'esito in col M
in realta prima mi deve scrivere l'importo successivo da giocare e poi io scrivero' lesito.

3) la macro ogni volta aggiorna tutte le celle in col H sarebbe ideale che oggiorni solo l'ultima cella
perche' in casi particolari (cifre alte) l'importo in col H viene inserito manualmente,
quindi sarebbe necessario che tale importo scritto a mano non venga modificato, se necessario per
questo caso esiste la colonna V che se nel caso ci sia scritto "m" in una cella
potrebbe indicare --> non cambiare l'importo in H corrispondente a cella della stessa riga.

4) partite rimandate: "rimand." se in col M viene scritto -rimand.- l'importo da scrivere in col H cella successiva
deve essere pari all'importo della partita rimandata.

5) perche' la macro da sempre lo stesso messaggio ? 18 ... cosa significa ?

x ora grazie 1000.

questo il file con inserto la macro di flash

http://www.sendspace.com/file/mlxcgu
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi Flash30005 » 14/03/11 22:52

1) la macro non segue alcuna tabella ma solo condizioni da settare e adattare all'esigenza (dovresti riportarmi un esempio completo e corretto di come vorresti i dati)
2) cambia la riga codice riguardante il conteggio righe da
Codice: Seleziona tutto
    URP = Worksheets("1-luga.1x-Fogl.Base").Cells(Rows.Count, 13).End(xlUp).Row

a
Codice: Seleziona tutto
    URP = Worksheets("1-luga.1x-Fogl.Base").Cells(Rows.Count, 13).End(xlUp).Row + 1

(automatizzeremo la macro affinché si avvii ad ogni cambiamento della colonna H)
3) se non prevedi di sostituire uscite precedenti si potrebbe pensare di aggiornare lo l'ultima riga ma devi essere sicuro di ciò che farai
4) vedrò cosa si potrà fare con rimand
5) cancella la riga:
Codice: Seleziona tutto
    For RP = 10 To URP
    If RP = 18 Then MsgBox RP  '<<<< questa riga utilizzata per un test e dimenticata lì
    If SPV = 6 Then


In pratica una macro del genere dovrebbe soddisfare più o meno tutto quanto da te richiesto
Codice: Seleziona tutto
Sub CalcPuntata()
Application.ScreenUpdating = False
Application.Calculation = xlManual
    URP = Worksheets("1-luga.1x-Fogl.Base").Cells(Rows.Count, 13).End(xlUp).Row + 1
    NV = 1
    NP = 0
    SPV = 0
    For NI = URP To 10 Step -1
    If Range("H" & NI).Value = 10# Then
    NIU = NI
    GoTo saltaNI
    End If
    Next NI
saltaNI:
    Range("H9").Value = 10#
    For RP = NIU To URP
    If SPV = 6 Then
        Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp

    End If
    If (NV = 2) And Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp
    End If
    If Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = Int(Range("K" & RP - 1).Value + 0.99)
        NV = NV + 1
    Else
        If Range("M" & RP - 1).Value = "Rimand." Then
            Range("H" & RP).Value = Range("H" & RP - 1).Value
        Else
            Range("H" & RP).Value = Range("H" & RP - 1).Value * 2
            NP = NP + 1
            If NP > 1 Then NV = 0
        End If
    End If
     SPV = SPV + 1
     If NP = 2 And NV = 2 Then
     Range("H" & RP).Value = 10#
        NP = 0
        NV = 0
        SPV = 0
     End If
saltaRp:
    Next RP
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


(la macro provvede a reimpostare la puntata anche in caso di "Rimand.")
Fai sapere
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-

piu condizioni nella stessa sequenza

Postdi raimea » 15/03/11 07:39

riassunto dei test.. :D
1) nel file c'e' un foglio con le 28 combinazioni che si possono presentare
Es. dopo 3 vittorie consec la 4ta punt deve essere pari all'importo base (H9) idem dopo 3 perdite consec.
al momento la macro torna all'importo base dopo 4 V/P consec.

2) modif num 2 ok.
3) le uscite precedenti sicuramente non devono essere modificate
(ormai sono state giocate ) ed anche l'esito non cambiera' piu, quindi se per qualche motivo
un importo e' stato scritto a mano non deve essere modificato dalla macro.

4) per partite rimandate ( rimand. in col M), dovrebbe riportare in H successiva
l'importo pari a lla puntata rimandata.
5) non sono riuscito a togliere messaggio perche' se tolgo le 3 righe indicate mi si blocca in un End if.

l'ultima macro -completa- che hai riportato nel post precedente, l'ho inserita ma mi sballa tutti gli importi non so con che logica,
quindi nel file allegato c'e la tua prima macro, con la modifica num 2 , gli importi x ora vanno bene.

http://www.sendspace.com/file/ut5imw

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

Re: 3 condizioni nella stessa sequenza

Postdi Flash30005 » 15/03/11 09:11

La macro funzionante è l'ultima postata (ho modificato solo la quantità di "v" (da 2 a >2)
e la replico
Codice: Seleziona tutto
Sub CalcPuntata()
Application.ScreenUpdating = False
Application.Calculation = xlManual
    URP = Worksheets("1-luga.1x-Fogl.Base").Cells(Rows.Count, 13).End(xlUp).Row + 1
    NV = 1
    NP = 0
    SPV = 0
    For NI = URP To 10 Step -1
    If Range("H" & NI).Value = Range("H9").Value Then
    NIU = NI
    GoTo saltaNI
    End If
    Next NI
saltaNI:

    For RP = 10 To URP '<<< commentare questa riga
    'For RP = NIU + 1 To URP '<<<< togliere commento a questa per far scansionare le ultime puntate
    If SPV = 6 Then
        Range("H" & RP).Value = Range("H9").Value
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp

    End If
    If (NV > 2) And Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = Range("H9").Value
        NP = 0
        NV = 0
        SPV = 0
    GoTo saltaRp
    End If
    If Range("M" & RP - 1).Value = "v" Then
        Range("H" & RP).Value = Int(Range("K" & RP - 1).Value + 0.99)
        NV = NV + 1
    Else
        If Range("M" & RP - 1).Value = "Rimand." Then
            Range("H" & RP).Value = Range("H" & RP - 1).Value
        Else
            Range("H" & RP).Value = Range("H" & RP - 1).Value * 2
            NP = NP + 1
            If NP > 1 Then NV = 0
        End If
    End If
     SPV = SPV + 1
     If NP = 2 And NV = 2 Then
     Range("H" & RP).Value = Range("H9").Value
        NP = 0
        NV = 0
        SPV = 0
     End If
saltaRp:
    Next RP
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


L'unica cosa da provare è vedere dopo 3 "P" cosa succede, ma lascio a te testare
Con la macro non guardo la tabella ma il numero puntate che, come dicevi nel post iniziale deve tornare alla puntata base sicuramente dopo 6 puntate, le altre condizioni sono rispettate (a 4 se sono due "P" e due "v", etc)

3) Tu dici che le uscite precedenti non devono essere modificate e io ho fatto in modo che non lo siano ma non puoi pretendere che se hai inserito "Rimand." alla riga 24 la macro vada a modificare la puntata relativa 8)
A tale scopo ho messo due cicli for next (uno commentato e l'altro no) e almeno una volta (la prima volta) dovrai far girare il ciclo completo per far inserire correttamente le puntate passate.
Inoltre non è possibile valutare solo l'ultima puntata proprio perché hai l'esigenza di contare quante P o V ci sono state prima, quindi, come minimo, bisogna conteggiare almeno dall'ultima puntata base (il ciclo For next che avevo inserito faceva proprio questo, ma così facendo non cambiava le puntate precedenti).

Il punto 4 era già risolto con la macro precedente
5) il messaggio veniva tolto eliminando la riga evidenziata con '<<<<< (una sola riga non tutte e tre riportate, le altre due servivano solo per darti un riferimento per "rintracciare" la riga del messaggio) :aaah

Allego il 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-

piu condizioni nella stessa sequenza

Postdi raimea » 15/03/11 20:04

ok altri 2 punti :D
ok, il punto 5 del messaggio 18 ok , io cannavo cancellavo 3 righe... :roll:
ok il punto 4 della partita "rimand.".

rimane:
al momento dopo 3 V/p fa ancora una puntata quindi tot 4 , mentre
dopo 3 V o 3 P consecutive, deve ritornare a quota base. (H9)

qui forse mi sono spiegato male:
deve tornare alla puntata base sicuramente dopo 6 puntate

questo non e' vero vedi esempio questa sequenza: V-V-P-V-V-P-V-V qui torna a quota base dopo 8 puntate.
oppure la stessa con perdita alla fine V-V-P-V-V-P-V-P
L'obbiettivo del sistema infatti e' :
1)fare 3 vittorie consecutive.
2) se prima di 3 V si fa una pardita dapo tale P si va ancora verso 3 V consecutive.
3) alla 2da Perdita P nella sequenza si devono fare 2 V consecutive.
4) alla 3za perdita nella sequenza si chiude tornando a quota base (H9) e si incassa la perdita.... :evil:

per il punto 3) quello in cui si scrive MANUALMENTE un importo in una cella di Col H
ho visto che se lo scrivo, ora viene modificato. :oops:

---> ammetto di osare un po' troppo forse... :eeh:
grazie x la cortesia/disponibilita' che mi state prestando.
nel file allegato ho simulato altri risultati

http://www.sendspace.com/file/47v30y
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi Anthony47 » 16/03/11 01:01

No so se puo' essere ancora utile questa funzione:
Codice: Seleziona tutto
Function Monitr(Dummy) As String
Dim CAdr As String
Dim I As Integer, CCV As Integer, CP As Integer
Dim ColVP As Integer, IDR As Integer, J As Integer, aaa
'
ColVP = 13: IDR = 9    '<<p/v in 13=col M; Prima riga dati =9
'
CAdr = Application.Caller.Address
For I = Range(CAdr).Row - 1 To IDR Step -1
If Cells(I, Range(CAdr).Column) = "R" Then Exit For
If Cells(I, Range(CAdr).Column) = "r" Then Exit For
Next I
For J = I + 1 To Range(CAdr).Row
If UCase(Cells(J, ColVP)) = "V" Then
    CCV = CCV + 1
    Else:
    If UCase(Cells(J, ColVP)) = "P" Then
        CP = CP + 1: CCV = 0
    End If
End If
If CCV = 3 Then Monitr = "R": Exit Function
If CP = 2 And CCV = 2 Then Monitr = "R": Exit Function
If CP = 3 Then Monitr = "r": Exit Function
Next J
Efun:
End Function

Lavora con le ultime "specifiche" date:
L'obbiettivo del sistema infatti e' :
1)fare 3 vittorie consecutive.
2) se prima di 3 V si fa una pardita dapo tale P si va ancora verso 3 V consecutive.
3) alla 2da Perdita P nella sequenza si devono fare 2 V consecutive.
4) alla 3za perdita nella sequenza si chiude tornando a quota base (H9) e si incassa la perdita....


Uso:
-messo il codice in un Modulo standard del vba
-poi in una colonna libera, es in X9, metti la formula =monitr(M$9:M9) che poi copi verso il basso
-sara' restituito "R" se restart con vittoria, oppure "r" se restart con perdita, oppure "vuoto"

Non so se questo approccio consente di reimpostare tutte le altre formule.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

piu condizioni nella stessa sequenza

Postdi raimea » 16/03/11 07:13

x anthony
ho inserito in un modulo il codice,
ho messo in x9 la formula e mi restituisce correttamente R , r , o vuoto,
ora vedo di sistemare la formula precedente con tale dato importantissimo.
faro' sapere 8)
grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

piu condizioni nella stessa sequenza

Postdi raimea » 17/03/11 18:47

funziona tutto ok
ringrazio Anthony che ha trovato la soluzione piu conveniente
ma ringrazio molto anche flash30005 per la disponibilita' e professionalita
che come sempre sa dimostrare.
allego il file nel caso interessi a qualcuno, vedere come si comporta

W l'Italia :)
e grazie

http://www.sendspace.com/file/eh33qh
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

condizioni nella stessa sequenza

Postdi raimea » 21/03/11 18:22

un info sulla funzione nel file. :idea:
Codice: Seleziona tutto
Function Monitr(Dummy) As String   '<<< serve a scrivere R r in col w
Dim CAdr As String
Dim I As Integer, CCV As Integer, CP As Integer
Dim ColVP As Integer, IDR As Integer, J As Integer, aaa
'
ColVP = 13: IDR = 9    '<<p/v in 13=col M; Prima riga dati =9
'
CAdr = Application.Caller.Address
For I = Range(CAdr).Row - 1 To IDR Step -1
If Cells(I, Range(CAdr).Column) = "R" Then Exit For
If Cells(I, Range(CAdr).Column) = "r" Then Exit For
Next I
For J = I + 1 To Range(CAdr).Row
If UCase(Cells(J, ColVP)) = "V" Then
    CCV = CCV + 1
    Else:
    If UCase(Cells(J, ColVP)) = "P" Then
        CP = CP + 1: CCV = 0
    End If
End If
If CCV = 3 Then Monitr = "R": Exit Function
If CP = 2 And CCV = 2 Then Monitr = "R": Exit Function
If CP = 3 Then Monitr = "r": Exit Function
Next J
Efun:
End Function

la funzione sopra riport funziona correttamente.
MA se nel file aggiungo una macro che fa tutt'altro, o ne modofico un' altra,
tale funzione non mi funziona piu. :!:
che puo succedere ? :-?
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: 3 condizioni nella stessa sequenza

Postdi gianc » 22/03/11 00:25

so cheormai èun pò tardi per dare anche la mia soluzione...... ma lo faccio comunque
come al mio solito avrei aggirato la macro ed avrei risolto aggiungendo una colonna d'appoggio in cui conteggio il numero di "cicli"
io ho provato aggiungendo una colonna tra H ed I (generando così una nuova colonna I spostando le altre a destra chiaramente)
porto l'esempio della riga 41 :
in I41 ho messo
=SE(N40="";"";SE(H41=$H$9;I40+1;I40)) (chiaramente trascinata su tutta la colonna).
in M41
=SE(N40="";"";SE(N40="p";H40*2;SE(E(CONTA.SE(N35:N38;"p")=2;T40=2);$H$9;SE(E(CONTA.SE(N38:N40;"v")=3;T40=3);$H$9;SE(E(CONTA.PIÙ.SE($N$9:N40;"p";$I$9:I40;I40)>=2;N40="v";N39="v");$H$9;ARROTONDA.ECCESSO(L40;1)))))) (chiaramente trascinata su tutta la colonna)

in sostanza verifico (nel caso in cui le ultime 2 giocate siano "V") se nello stesso ciclo appaiono già du "p".
è semplicemente una piccola modifica di quella che usava originariamente Raimea

Provala e magari risolvi al problema di non riuscire ad inserire altremacro
gianc
Utente Junior
 
Post: 59
Iscritto il: 19/03/11 00:51
Località: Pistoia

Re: 3 condizioni nella stessa sequenza

Postdi Anthony47 » 22/03/11 00:28

Leggi il suggerimento di gianc sopra.
Per il problema che dichiari bisogna vedere in dettaglio cosa fanno le macro che aggiungi; ma intanto verifica se per caso le macro di cui parli ti lasciano Calcolo in Manuale.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "3 condizioni nella stessa sequenza":


Chi c’è in linea

Visitano il forum: Nessuno e 81 ospiti