Condividi:        

velocizzare macro

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

velocizzare macro

Postdi Statix » 10/02/19 23:18

Ciao a tutti,
dovrei velocizzare questa macro se è possibile


Codice: Seleziona tutto
Sub Cinquina()
Dim I As Integer: Dim J As Integer: Dim K As Integer: Dim L  As Integer: Dim M As Integer




For I = 1 To 86
For J = 1 + I To 87
For K = 1 + J To 88
For L = 1 + K To 89
For M = 1 + L To 90
   
Range("A2") = I
Range("B2") = J
Range("C2") = K
Range("D2") = L
Range("E2") = M

Next M
Next L
Next K
Next J
Next I
End Sub
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: velocizzare macro

Postdi wallace&gromit » 11/02/19 08:52

Magari ci spieghi prima che senso ha?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: velocizzare macro

Postdi klingklang » 11/02/19 10:41

Direi che genera tutte le possibili cinquine del lotto. Salvo che poi le scrive tutte nello stesso punto e quindi alla fine avrai una sola cinquina...
Da parte mia, se lo desideri, posso suggerirti di provare il mio (lungamente testato) strumento per la generazione di combinazioni di elementi: fa parte del mio programma e lo trovi qui. Devi scrivere i numeri da 1 a 90, selezionarli, avviare lo strumento e selezionare "Combinazioni semplici di 90 elementi presi 5 a 5". Tempo di esecuzione sulla mia macchina, circa 10 minuti (sono oltre 43 milioni di combinazioni)
Enrico
Windows 7 + Office 2016 64bit / Windows 10 + Office 365 32/64bit
Avatar utente
klingklang
Utente Junior
 
Post: 97
Iscritto il: 23/11/18 15:01
Località: San Giovanni in Persiceto

Re: velocizzare macro

Postdi Statix » 11/02/19 12:46

ciao a tutti, ciao KlingKlang, wallace
in effetti la macro sviluppa tutte le cinquine di 90 numeri, nello stesso range A2:E2,
ma ho una condizione in F1 che se rispettata mi salva la cinquina nel range H2:M2 accodandole di volta in volta
quindi non serve scriverle tutte le cinquine.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: velocizzare macro

Postdi klingklang » 11/02/19 13:01

In tal caso, al meglio delle mie conoscenze, non c'è molto da velocizzare. Se vedessimo tutta la macro, con le condizioni da rispettare e il successivo accodamento, magari si potrebbe fare qualcosa, in ogni caso lascio la parola ai miei più validi colleghi, anche perché per mia policy personale ho deciso di non contribuire allo sviluppo di sistemi per il gioco d'azzardo :)
Enrico
Windows 7 + Office 2016 64bit / Windows 10 + Office 365 32/64bit
Avatar utente
klingklang
Utente Junior
 
Post: 97
Iscritto il: 23/11/18 15:01
Località: San Giovanni in Persiceto

Re: velocizzare macro

Postdi Statix » 11/02/19 13:15

ok, grazie per il momento, più tardi vedo di postare un esempio di cosa dovrei realizzare
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: velocizzare macro

Postdi wallace&gromit » 11/02/19 15:02

A parte l'effetto scenico (discutibile) di vedere i numerini muoversi sullo schermo non vedo l'interesse di fare scrivere ogni volta le cinquine nelle celle. Ovviamente è questo il punto che rallenta il tutto. Quindi il consiglio è di fare girare i tuoi loop e confrontare nella macro l'eventuale coincidenza con i tuoi vincoli, al limite fai scrivere le cinquine nelle celle solo in quei casi in cui trovi una combinazione che corrisponde alle tue richieste.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: velocizzare macro

Postdi Anthony47 » 11/02/19 19:18

Quale e' la condizione scritta in F1, per vedere come portarla in una macro?

Intanto potresti vedere se riesci a usare quanto proposto ad altro utente qui: viewtopic.php?f=26&t=110340#p647710
Il file di cui trovi il link sviluppa le combinazioni di N elementi a gruppi di K con verifica che la somma dei fattori sia quanto impostato in P2

Come lì scrivo
Il controllo del vincolo della somma viene fatto dalla Function cCOLSum in Modulo1; se ci sono altri controlli da fare alle combinazioni calcolate quello e' l'aggancio in cui inserirsi
Quindi in prima battuta potresti vedere se riesci autonomamente a inserire all'interno della Function cCOLSum la condizione che hai in mente tu. Noi siamo qui

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


Torna a Applicazioni Office Windows


Topic correlati a "velocizzare macro":


Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti