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ì 24 luglio 2025
    Bari
    71
    27
    87
    61
    39
    Cagliari
    69
    17
    79
    09
    04
    Firenze
    32
    13
    25
    58
    22
    Genova
    24
    41
    61
    66
    16
    Milano
    55
    59
    33
    80
    38
    Napoli
    18
    52
    32
    12
    72
    Palermo
    49
    77
    78
    90
    60
    Roma
    35
    04
    30
    02
    44
    Torino
    19
    79
    56
    77
    26
    Venezia
    82
    59
    68
    24
    21
    Nazionale
    81
    32
    19
    60
    38
    Estrazione Simbolotto
    Nazionale
    32
    07
    29
    37
    28

Ultimi Messaggi

Indietro
Alto