Novità

Help Modifica Macro EXCEL

fillotto

Advanced Member >PLATINUM<
Questa piccola macro che uso in excel mi propone 2 numeri compresi fra 1 e 90 non uguali fra loro (in pratica gli ambi)
e si ferma quando incontra questa riga di codice : "If Cells(1, 25) = Cells(1, 27) Then Exit Do" che posso imostare con "=","< " e ">"
Il problema è che la proposizione dei 2 numeri è fatta in modo casuale e quindi è facile che proponga spesso lo stesso ambo
trascurando per un tempo molto lungo l'ambo che la farebbe uscire .
Allora la domanda: come modificare la macro affinchè passi in rassegna tutti i 4005 ambi possibili e che si fermasse (uscisse)
a secondo dell'if che imposto, e allo stesso tempo mi avvertisse che con la condizione impostata non è stato possibile uscire
avendo passato in rassegna tutti i 4005 ambi??

Public Sub Proponi2()
Application.ScreenUpdating = False
Dim numeri(2) As Long
Dim A As Long
Dim b As Long
Do
For A = 1 To 2 ' riempie la matrice con numeri casuali
rifai:
numeri(A) = Int(Rnd * 90 + 1)
For b = 1 To 2 'controlla se c'è un numero doppio
If A = b Then GoTo salta
If numeri(A) = numeri(b) Then GoTo rifai
salta:
Next b
Next A

For A = 1 To 2 'riempie le celle
Cells(1, A) = numeri(A)
Next A
DoEvents

If Cells(1, 25) = Cells(1, 27) Then Exit Do 'esce se è stato superato > il
'parametro o se è = o se è < minore, secondo l'impostazione

Loop
Application.ScreenUpdating = True
End Sub
 
vedo che nella macro usi i cicli for le variabili e i goto ...
Ebbene è proprio con queste istruzioni che si risolve il problema di sviluppare i 4005 ambi possibili.
Bisongna usare 2 cicli for nidificati , dentro il ciclo piu interno si valuta l'ambo corrente
e nel caso di condizione verificata si valorizza a true una variabile poi si esce dal ciclo magari usando un goto verso una linea fuori dal ciclo esterno.
Se al termine naturale dei due cicli nidificati la variabile bTrovato è false allora si da il messaggio
che la condizione non è stata trovata
 
Ciao Luigi purtroppo la macro l'ho fatta, solo come idea e con l'aiuto esterno almeno 5,6 anni fa, successivamente un 2 anni fa ci hai messo mano anche tu perchè già da allora mi ero accorto della lentezza per via che immagino passava e ripassava sugli stessi ambi e quindi ti chiedo questo altro piacere se vuoi:rolleyes:.Pur comprendendone i passaggi purtroppo all'atto pratico poi non sono capace........per quanto riguarda poi l'applicazione della macro sul foglio excel con l'aiuto delle formule saprei come utilizzarla al meglio secondo i miei desiderata.
 
Ultima modifica:
appunto devi sforzarti di capire quello che ti ho spiegato ..non vorrei sembrarti antipatico ma la mia posizione è insegnare quel poco che so. Mi sono sforzato molto in questo .. Se quello che ti ho spiegato nel post sopra lo considerassi complicato certo non ti farei questo discorso ...si tratta al contrario di una cosa banale ed è lo stesso concetto che tanti usano negli script quando vogliono sviluppare i 4005 ambi .. anzi se cerchi negli script qualche idea la trovi.
Se poi qualcun altro vuole fornire il codice scritto benvenga ...Ciao !
 
Grazie Luigi, capisco e condivido il tuo punto di vista:rolleyes: vuol dire che mi sforzerò ....Se poi qualcun altro vuole fornire il codice scritto benvenga ;)
 
Codice:
 [/B]
[B]Sub[/B][SIZE=2][COLOR=#000000] [/COLOR][/SIZE][SIZE=2][COLOR=#800080][SIZE=2][COLOR=#800080][B]Main[/B]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]For[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]=[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 1 [/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]To[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 89[/COLOR]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]For[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] y [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]=[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]+[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 1 [/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]To[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 90[/COLOR]
[/SIZE][SIZE=2][COLOR=#800080][SIZE=2][COLOR=#800080][B]Scrivi[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]&[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] "[/COLOR][/SIZE][SIZE=2][COLOR=#ff8000][SIZE=2][COLOR=#ff8000].[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]&[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] y[/COLOR]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]Next[/B]
[B]Next[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [/COLOR]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]End[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]Sub[/B]
[/COLOR][/SIZE][/COLOR][/SIZE]

[B]
 
Codice:
[B]Sub[/B][SIZE=2][COLOR=#800080][SIZE=2][COLOR=#800080][B]Main[/B]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]For[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]=[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 1 [/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]To[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 89[/COLOR]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]For[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] y [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]=[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]+[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 1 [/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]To[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] 90[/COLOR]
[/SIZE][SIZE=2][COLOR=#800080][SIZE=2][COLOR=#800080][B]Scrivi[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] x [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]&[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] "[/COLOR][/SIZE][SIZE=2][COLOR=#ff8000][SIZE=2][COLOR=#ff8000].[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][B]&[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] y[/COLOR]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]Next[/B]
[B]Next[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]
[/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]End[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2828ff][SIZE=2][COLOR=#2828ff][B]Sub[/B]
[/COLOR][/SIZE][/COLOR][/SIZE]
Grazie Claudio visto adesso!!! cerchiamo di incastonare l'aiutino nella macro.........
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 13 novembre 2025
    Bari
    32
    65
    71
    85
    34
    Cagliari
    57
    35
    60
    27
    59
    Firenze
    25
    69
    54
    55
    03
    Genova
    02
    18
    53
    83
    79
    Milano
    19
    02
    60
    13
    83
    Napoli
    87
    35
    78
    04
    69
    Palermo
    46
    40
    55
    25
    71
    Roma
    14
    23
    28
    62
    01
    Torino
    78
    08
    04
    03
    63
    Venezia
    41
    17
    16
    49
    42
    Nazionale
    83
    08
    03
    67
    86
    Estrazione Simbolotto
    Torino
    20
    44
    35
    10
    23

Ultimi Messaggi

Indietro
Alto