Novità

Un aiuto per codice VBA excel

claudio8

Premium Member
dovrei ciclare questa sub

Codice:
Sub Input()   ' si attiva da pulsante
    Call UnLockApplication
    Call Attrattore
    Call LeggiFile
    Call ScriviFile
    Call ExitApplication

End Sub

utilizzando questo codice

Codice:
 Sub Ciclo()
    Dim x As Integer
    For x = 1 To 3
         Call Input
    Next x
End Sub



non mi da errore di compilazione ma il ciclo for si ferma ad 1 , la "x" si valorizza ad 1 e non va oltre
parrebbe che salti il "For x = 1 To 3" , quindi opera la chiamata ( Call Input ) e termina la sub
Grazie
 

i legend

Premium Member
Non riuscivo a fare stare insieme il mio messaggio xon il quote
Vedere messaggio 4
 
Ultima modifica:

i legend

Premium Member
dovrei ciclare questa sub

Codice:
Sub Input()   ' si attiva da pulsante
    Call UnLockApplication
    Call Attrattore
    Call LeggiFile
    Call ScriviFile
    Call ExitApplication

End Sub

utilizzando questo codice

Codice:
 Sub Ciclo()
    Dim x As Integer
    For x = 1 To 3
         Call Input
    Next x
End Sub



non mi da errore di compilazione ma il ciclo for si ferma ad 1 , la "x" si valorizza ad 1 e non va oltre
parrebbe che salti il "For x = 1 To 3" , quindi opera la chiamata ( Call Input ) e termina la sub
Grazie
Ciao Claudio, premesso che non ho mai avuto excel e non conosco il vba( solo un po di foglio di calcolo free)

Per capire se dipende dal ciclo , hai provato a lanciarla così che cosa ti restituisce?
Se i risultati non sono quelli voluti allora forse bisogna tentare un altro approccio.
Vista così sembra che legga sempre lo stesso file e scriva lo stesso file e per poi uscire ,
Magari ti sovrascrive .

Potrebbe essere?
Ciao e buona domenica.



Codice:
 Sub Ciclo()
    Dim x As Integer
    For x = 1 To 3
       
    Call Attrattore
    Call LeggiFile
    Call ScriviFile
    Call ExitApplication
    Next x
End Sub

Ciao.
Se pensi che sia inutile come messaggio, dimmi che cancello.🙂👍
 
L

LuigiB

Guest
quello che suona male è Call ExitApplication ma anche unloackapplication , queste due routine è probabile che debbano essere lanciate all'esterno del ciclo , una dopo e l'altra prima. ad ogni modo senza vedere le routine che chiama non è facile capire anche se sicuramente il problema è in una di quele routine li.
 

claudio8

Premium Member
quello che suona male è Call ExitApplication ma anche unloackapplication , queste due routine è probabile che debbano essere lanciate all'esterno del ciclo , una dopo e l'altra prima. ad ogni modo senza vedere le routine che chiama non è facile capire anche se sicuramente il problema è in una di quele routine li.
Ciao Luigi
Pronto .... ti servo subito :)
Nel foglio UserInput, il tasto Ciclo aziona la sub in questione.
Al 1° inputbox clicca si, al 2° clicca no.
Fammi sapere quando avrai scaricato il file ( da rinominare eliminando il .txt ) perchè voglio evitare di tenerlo pubblicato.
Inoltre ...... preferirei imparare a "pescare" invece che ricevere il "pescato"
Grazie
 
Ultima modifica:

claudio8

Premium Member
Ciao Claudio, premesso che non ho mai avuto excel e non conosco il vba( solo un po di foglio di calcolo free)

Ciao.
Se pensi che sia inutile come messaggio, dimmi che cancello.🙂👍
Non è mai inutile la tua partecipazione, e senza codice, come dice Luigi, è sempre difficile dare risposte precise.
 
L

LuigiB

Guest
come ti avevo detto quello che non va bene sono quelel due routine la prima unlockapplication per question idi efficenza
potrebbe pure non interferire va provato, la seconda exitapplication interferisce di sicuro perche utilizza l'istruzione end
pertanto sel si usa dentro un ciclo non proseguiràa mai

devi creare una nuova funzione ciclo e fare esternamente al ciclo le operazioni di unlock ed exit , questo richiede la comprensione precisa di cosa facciano sia quelel 2 rourtine sia quelle dentro al ciclo.
 

claudio8

Premium Member
come ti avevo detto quello che non va bene sono quelel due routine la prima unlockapplication per question idi efficenza
potrebbe pure non interferire va provato, la seconda exitapplication interferisce di sicuro perche utilizza l'istruzione end
pertanto sel si usa dentro un ciclo non proseguiràa mai

devi creare una nuova funzione ciclo e fare esternamente al ciclo le operazioni di unlock ed exit , questo richiede la comprensione precisa di cosa facciano sia quelel 2 rourtine sia quelle dentro al ciclo.

la prima UnlockApplication non fa altro che Unprotect i dversi fogli quindi non implicherebbe problemi mentre in

Codice:
Sub ExitApplication()
Call CleanUp
Call LockApplication
End
End Sub
l'istruzione end è quella che blocca tutto.
Stranamene non la avevo neanche notata.
Nella vita non si smette mai di imparare.
Grazie Luigi , seguirò le tue istruzioni approfondendo la lettura del codice.
 

claudio8

Premium Member
Leggo in giro:
Ciao Kurz,
1)L'istruzione Call è facoltativa, vero? A parte ragioni di
leggibilità del codice, vi sono altri motivi per usarla?

No, io uso Call unicamente per aumentare la leggibilità del codice.

2)L'istruzione End per cessare ogni procedura è da evitare in quanto
tiene occupate risorse del sistema?

L'uso dell'istruzione End e' anologo a guidare una macchina contro un muro
per fermarla. Io preferisco invece utilizzare i freni - cioè uscire dal
codice in modo controllato!


---
Regards,
Norman
 
L

LuigiB

Guest
questi sono dettagli , call certe volte è obbligatoria per esempio quando si passano oggetti ai paramentri delle procedure oppure se si usano le parentesi quando si chiama la routine , per non sbagliarsi conviene sempre richiamare le routine con call

invece End è proprio da evitare lo sanno anche i principianti .. per uscire in modo controllato devi intervenire dentro al ciclo .

la metafora dell'end la cambiere con lo spegniere il motore in corsa ed eventualmente tirare contemporaneamente il freno a mano.
 

claudio8

Premium Member
da
questi sono dettagli , call certe volte è obbligatoria per esempio quando si passano oggetti ai paramentri delle procedure oppure se si usano le parentesi quando si chiama la routine , per non sbagliarsi conviene sempre richiamare le routine con call

invece End è proprio da evitare lo sanno anche i principianti .. per uscire in modo controllato devi intervenire dentro al ciclo .
quindi io sarei un" pre principiante"
( bacchetta... bacchetta.... , intanto io imparo grazie )
 

claudio8

Premium Member
Certo che studiare per poter modificare questo codice da zero non è cosa facile....
al p rossimo intoppo Luigi
Ciao a tutti
 
L

LuigiB

Guest
Sinceramente data la mia pigrizia prima di imbarcarmi in qualcosa mi pongo delle domande teoriche , se c'è una certa plausibilità proseguo sennò manco mi ci metto.
Nel caso delle reti neurali la domanda che mi pongo è : "é possibile che un 'intelligenza artificiale sia capace di predire i numeri del lotto dandogli in paso le estrazioni del passato ? " a questa domanda ho 2 risposte 1) si 2) no , nel caso del si devo pormi la domanda sul come mai sia possibile e ipotizzerei che allora esiste un qualche tipo di pattern tra le estrazioni che un umano non è capace di cogliere ma una fredda intelligenza artificiale si.
Quindi proseguo e mi pongo la questione "è possibile che esista un pattern tra le estrazioni ?" la risposta è no dato che fino a prova contraria sono casuali.
Ieri mi è capitato di vedere un'applicazione di nnpred per cercare di predire la portata di una fonte acquifera i parametri per la predizione mi sembrano piu concreti e legati da una certa coerenza tutto il contrario di ciò che sono le estrazioni del lotto.
 

claudio8

Premium Member
E' tutto vero quello che scrivi, ma nnpred è solo uno strumento per approfondire una ricerca, cosi come lo sono gli script ed anche se non si arriva o arriverà (con nnpred) ad altro che alla solita conferma che le estrazioni nel gioco del lotto sono solo casualità e null'altro, personalmente avrò comunque imparato qualcosa in più in termini di uso/modifica dei costutti in VBA.
Alla fine, anche smanettare su queste cose è un modo per divertirsi.

Rispondo a questa tua domanda.
Nel caso delle reti neurali la domanda che mi pongo è : "é possibile che un 'intelligenza artificiale sia capace di predire i numeri del lotto dandogli in pasto le estrazioni del passato ?
Probabilmene i soli numeri non sono sufficienti, ma avere un strumento predisposto a testare velocemente ( come ho fatto con i numeri frequenti ) nuove architetture con varietà di dati (estrazioni, frequenze, ritardi o altro) amplia la possibilià di ricerca e chissà.......

Non importa se il risultato non sarà quello sperato.
So che posso contare su di te per imparare quindi al prossimo intoppo sarai inviato. :)
Ciao Luigi
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 04 maggio 2024
    Bari
    02
    31
    81
    52
    21
    Cagliari
    39
    88
    84
    01
    67
    Firenze
    36
    30
    70
    06
    41
    Genova
    59
    23
    61
    22
    27
    Milano
    05
    17
    69
    57
    39
    Napoli
    81
    62
    82
    43
    50
    Palermo
    73
    55
    62
    45
    18
    Roma
    76
    70
    01
    64
    15
    Torino
    82
    55
    35
    70
    46
    Venezia
    58
    23
    61
    29
    21
    Nazionale
    10
    14
    01
    43
    09
    Estrazione Simbolotto
    Milano
    30
    01
    05
    32
    11
Alto