Più seguo questo corso, più e bello ed interessante. Grazie
@NickTheGeek2 жыл бұрын
Grazie a te!
@nicksan7263 Жыл бұрын
Ottimo .. non conoscevo la Static .. Complimenti per la spiegazione chiara ed esauriente di tutti i tuoi video. Grande Nick.
@NickTheGeek Жыл бұрын
Grazie mille
@diegogalli14542 жыл бұрын
Nicola, sei molto esaustivo e chiaro, 🏅🏅🏅🏅🏅🏅🏅🏅❤❤❤❤❤❤❤❤👍👍👍👍👍👍👍👍🐼🐼🐼🐼🐼🐼🐼🐼
@NickTheGeek2 жыл бұрын
Grazie!
@saramoschi36954 жыл бұрын
Lei è un genio, non avrei mai pensato di poterci un giorno capire qualcosa di vba, grazie mille per la pazienza e la chiarezza, in vita mia non ho mai avuto un quaderno degli appunti cosi preciso e completo!
@NickTheGeek4 жыл бұрын
addirittura genio! grazie a te per il commento!
@diegogalli14542 жыл бұрын
Sono un giovanotto di 81 anni! e mi diverto a strimpellare sulla tastiera del mio portatile! Ho già le basi necessarie, per comprendere/RIPASSARE CON GIOIA TUTTI QUESTI CONCETTI, attualmente uso QB64 versione 3.4.0
@NickTheGeek2 жыл бұрын
Congratulazioni Diego, mai fermarsi!
@nzrght66514 жыл бұрын
Grazie mille bel lavoro e grazie per renderlo fruibile a tutti
@NickTheGeek4 жыл бұрын
Ciao, grazie a te per il commento e per seguirmi
@vivianac18314 жыл бұрын
Chiaro ed efficace. Veramente bravo.
@NickTheGeek4 жыл бұрын
Grazie!
@diegogalli14542 жыл бұрын
COMPLIMENTI PER IL TUO CORSO!!!!
@NickTheGeek2 жыл бұрын
grazie Diego!
@elisabettacaldara80544 жыл бұрын
Grazie mille sig. Nicola! I suoi video sono chiarissimi.
@NickTheGeek4 жыл бұрын
Grazie a te per il commento!
@lucianocanino30904 жыл бұрын
Ciao, sei un grande, hai un metodo di spiegare che un ignorante come me in questa materia piano piano incomincia a capire qualcosa 👍
@NickTheGeek4 жыл бұрын
Ciao Luciano, grazie per il commento; del resto si è sempre ignoranti finché non si impara, a volte basta solo la spinta iniziale e poi è tutto più facile
@andreagiovannini28586 жыл бұрын
Chiarissimo come sempre! Grazie.
@NickTheGeek6 жыл бұрын
grazie a te :)
@gianni_carboni4 жыл бұрын
Complimenti e grazie!!!
@NickTheGeek4 жыл бұрын
Grazie a te Gianni per il commento
@fabioferro364 жыл бұрын
Veramente bravo
@NickTheGeek4 жыл бұрын
Grazie :)
@rodolfomanti96353 жыл бұрын
Bravissimo
@NickTheGeek3 жыл бұрын
Grazie Rodolfo
@edmondosestini32276 жыл бұрын
Bravissimo!!!! Complimenti
@NickTheGeek6 жыл бұрын
grazie Edmondo :)
@edmondosestini32276 жыл бұрын
Scusa, ma cosa rappresenta quel piccolo disegno vicino al tuo nome . . . non riesco a distinguere cos'è! Grazie.
@NickTheGeek6 жыл бұрын
è collegato a un videogioco di cui ho fatto una serie in passato, dovrei cambiarlo per mettere qualcosa di più generico ma non ho mai l'ispirazione giusta
@edmondosestini32276 жыл бұрын
Che ne dici di una bella "Lampadina accesa"! . . . molto significativa!!
@NickTheGeek6 жыл бұрын
grazie, potrebbe essere un'idea, però pensavo più a creare un logo con N, T e G (per richiamare il mio nick)
@valentinoosterwalder55693 жыл бұрын
Ciao, complimenti per i video. Sono molto ben spiegati. Nei commenti sotto ho cercato indicazioni su Static ma non ho trovato niente che mi aiutasse. Domanda: Sto allestendo un formulario "Bollettino di lavoro" in cui ogni nuovo bollettino deve essere numerato sequenzialmente. Come faccio a mantenere la variabile Static anche chiudendo e riaprendo la cartella di lavoro? Devo appoggiarmi a un foglio di lavoro in cui salvo il contatore, oppure esiste un altro metodo? Grazie per l'attenzione.
@NickTheGeek3 жыл бұрын
Ciao Valentino, grazie per i complimenti. Che io sappia non c'è un metodo per mantenere in memoria un valore dopo aver chiuso il file, quindi ti suggerisco di fare quello che hai scritto, cioè di utilizzare un foglio d'appoggio per scrivere e recuperare successivamente il dato.
@francescosedita69384 жыл бұрын
grazie per avermi risposto il mio 365 e stato scarica con contratto annuale online cambia qualcosa? saluti da Francesco e ancora grazie per il tempo che ci dedichi su VBA
@NickTheGeek4 жыл бұрын
Grazie a te per seguirmi. Se Office è installato sul computer dovrebbe sicuramente funzionare, hai provato con Ctrl+G? Il menu Visualizza c'è?
@MrCri913 жыл бұрын
Ciao. Innanzitutto complimenti per la pazienza e chiarezza espositiva. Una domanda, se posso: Se associassi il codice di una sub ad un pulsante di comando nei controlli active X e quindi il codice si trova, supponiamo, nel foglio1 della cartella Microsoft Excel Oggetti, dichiarando una variabile qualsiasi come public in alto riuscirei ad usarla in un altro modulo? Perché ho provato a fare così: al click del pulsante di comando eseguo quella porzione di codice fino al punto in cui effettuo una chiamata di un altro codice che si trova in un altro modulo e mi dice che quella stessa variabile non è definita.
@NickTheGeek3 жыл бұрын
Ciao, grazie per i complimenti. Per quanto riguarda la domanda, se dichiari la variabile come Public all'inizio di un modulo deve essere vista poi anche dagli altri moduli. Senza vedere il codice o il file è difficile capire dove possa essere il problema. Se il codice (di entrambi i moduli) non è troppo complicato riesci a postarlo qui? Altrimenti puoi mandarmi il file a nickthegeek.yt@gmail.com, dopo averlo pulito da eventuali dati sensibili.
@edoardomele7173 жыл бұрын
Grazie mille, video chiarissimo. Una curiosità: se utilizzo una variabile static all'interno di una sub questa mantiene l'informazione nel contesto del modulo come se fosse una private, fuori come se fosse una public o ha regole diverse ancora? Se avesse la stessa funzione di public o private, quando consigli di usare static e quando public o private? Grazie mille
@NickTheGeek3 жыл бұрын
Ciao Edoardo. Il valore di una variabile Static viene visto solo dalla subroutine in cui viene dichiarata, ma viene mantenuto anche al termine dell'esecuzione della subroutine. Le variabili Static hanno caratteristiche sia delle Private sia delle Public; cerco di fare un breve riassunto: - analogia con Private: sia le Private che le Static possono essere dichiarate all'interno di una subroutine (anche se le Private possono essere dichiarate anche a livello di modulo) - differenze da Private: il valore della Static viene mantenuto al termine della subroutine, anche se viene dichiarata all'interno della subroutine stessa - analogia con Public: il valore della Static viene mantenuto al termine della subroutine - differenza da Public: il valore della Static non viene visto da altre subroutine, tantomeno da altri moduli Non penso di aver mai avuto bisogno di una variabile Static, normalmente mi attengo alle regole generali di Private e Public, e cioè se voglio che la variabile venga vista: - solo da una subroutine -> Dim/Private all'interno della subroutine - da tutto il modulo -> Dim/Private a livello di modulo - da tutti i moduli -> Public a livello di modulo Una Static potrebbe essere utile ad esempio per lo scopo che mostro nel video, cioè eseguire un conteggio di quante volte la subroutine viene eseguita; se hai una subroutine che cancella una riga in base a certi criteri, puoi contare quante righe vengono eliminate contando quante volte la subroutine viene eseguita; potresti utilizzare anche una variabile Private o Public a livello di modulo, ma in questo modo rischieresti che altre subroutine (solo nel modulo o anche negli altri moduli, rispettivamente) possano per errore modificare il valore della variabile.
@robertobraicovick68676 жыл бұрын
Grazie !
@pino95072 жыл бұрын
Posso usare una variabile Public in due file diversi aperti contemporaneamente, ma dichiarata solo in uno dei due file?
@NickTheGeek2 жыл бұрын
No, la variabile Public viene vista da tutti i moduli all'interno del file in cui viene dichiarata, ma non in file diversi.
@pino95072 жыл бұрын
Grazie. Un'altra domanda è se si può scrivere un modulo, contenente solo variabili senza subroutine o procedure, da esportare in più file senza doverle riscrivere ogni volta. Grazie di nuovo.
@NickTheGeek2 жыл бұрын
Sì, puoi avere un modulo in cui dichiari solo le variabili Public (penso sia questo lo scopo) e quindi copiarlo in altri file per avere le stesse variabili già dichiarate come Public.
@orsi9684 жыл бұрын
Ciao, complimenti per i tuoi video che sto utilizzando come utile guida per studiare questo bellissimo VBA, volevo chiederti: perché nasce l'esigenza della creazione di più moduli? Cioè nn si potrebbero creare tutte le sub o macro in un solo modulo? Sono limitati in qualche modo? Grazie della risposta e spero di vedere presto altri tuoi corsi magari più avanzati.
@NickTheGeek4 жыл бұрын
Ciao, grazie per i complimenti. In genere la scelta di utilizzare un unico modulo o più di uno è soggettiva: se hai diverse subroutine potresti, per esempio, volerle dividere su più moduli in base al tipo di operazione che eseguono. Secondo la microsoft un singolo modulo ha un limite di 64 kbyte, cioè 64 mila caratteri (spazi inclusi), ma che io sappia non sono chiare le conseguenze del superamento di questo limite. In ogni caso, un singolo modulo con 64 mila caratteri diventa poco leggibile, quindi in quel caso sarebbe comunque utile ripensare la strutturazione delle subroutine al suo interno, dividendole su più moduli oppure, se i 64k fossero costituiti da un'unica sub, dividendola in più subroutine.
@orsi9684 жыл бұрын
@@NickTheGeek grazie mille....al fine di approfondire la conoscenza soprattutto dei metodi esistenti, potresti consigliarmi un buon libro professionale magari in italiano? Grazie.Ciao
@NickTheGeek4 жыл бұрын
Mi dispiace ma non ne conosco, so solo dei libri di John Walkenbach e Michael Alexander della serie "Power Programming with VBA", ma non so se sono stati tradotti in italiano.
@NickTheGeek4 жыл бұрын
Aggiungo: non credo che esista un libro con l'elenco dei metodi esistenti, per quello c'è la documentazione ufficiale della Microsoft, ma anche questa penso sia solo in inglese: docs.microsoft.com/en-us/office/vba/api/overview/excel
@orsi9684 жыл бұрын
Ottimo ..grazie ..molto utile come sempre...se trovo qualcosa ti aggiorno. Grazie!!Ciao PS: intanto continuo a studiare grazie al tuo corso.....😜
@aruannovincenzo3 жыл бұрын
Prof NikTheGeek, ho trovato risposta alla mia domanda sulle variabili dichiarate su una stessa riga qui in questo video. Chiedo scusa per la domanda nel video precedente, ma cerco di non spoilerarmi nulla. E' la dimostrazione della bontà di questo videocorso. Dim Eccellenza as Long NikTheGeek = Eccellenza ^ n
@NickTheGeek3 жыл бұрын
Ciao Vincenzo, non mi ricordo esattamente cosa dico in questo video, ma tieni presente che dichiarando le variabili ad esempio come: Dim Nome, Cognome, Test As String solo la Test viene considerata String, e le altre restano Variant. Per dichiararle tutte come String devi specificarlo per ogni singola variabile.
@claraferlenghi95524 жыл бұрын
Buongiorno, grazie per gli utilissimi video! Vorrei chiederle se possibile come inserire o "far apparire " La finestra immediata, in quanto di default non mi compare e non riesco a trovarla(ho un Mac, non so se dipenda da quello). La ringrazio!!
@NickTheGeek4 жыл бұрын
Ciao, grazie a te per seguirmi. Su Windows puoi farla apparire con Visualizza --> Finestra Immediata; su Mac non lo so, mi dispiace.
@thyristore6 жыл бұрын
Ciao , sto guardando il tuo passaggio intorno al minuto 10:30 dove spieghi l'uso di Dim fuori dalle macro a la richiami poi in una macro dove non hai assegnato valori differenti . Io ho excel 2007 e non funziona, non mi restituisce il valore . Per caso sai se è normale nella mia versione o serve qualche impostazione in excel per farlo funzionare ? Grazie
@NickTheGeek6 жыл бұрын
Ciao, non so quale potrebbe essere il problema, prova a vedere se funziona dichiarando la variabile con "public" al posto di "dim" (sempre fuori dalle macro); in questo modo però la variabile sarà visibile da tutti i moduli del progetto, non solo nel modulo dove la dichiari.
@thyristore6 жыл бұрын
Ciao ; Facevo di nuovo delle prove con varie sub dentro un modulo ,non era il problema di Dim o Public , in pratica il problema sembra che se non lo richiami almeno una volta il valore della variabile ,o esegui la sub almeno una volta , poi non è utilizzabile fuori da quella sub . Per "magia" dopo rimane in memoria quel valore finché non ripristini tutto . Cosa quest'ultima un po' ambigua ancora per me perché mi costringe a rivedere tutto riguardo a come ero abituato a immaginare le dinamiche di questo linguaggio di programmazione .
@NickTheGeek6 жыл бұрын
Il dim (o public o private) serve solo a dichiarare l'esistenza della variabile, ma non le viene assegnato alcun valore; poi devi obbligatoriamente lanciare la subroutine in cui si trova l'assegnazione del valore, altrimenti la variabile rimarrà sempre Null; ad esempio nel mio video devo lanciare la subroutine "variabili", perché è quella in cui assegno un valore alla variabile nome; se lanciassi direttamente variabile2 non otterrei alcun risultato.
@marzioporro36474 жыл бұрын
Ciao molto interessante, ma non riesco a capire in che modo posso utilizzarla, nel senso a cosa mi può servire in un foglio di Excel? Potrei fare dei conteggi particolari? Ciao Grazie.
@NickTheGeek4 жыл бұрын
Ciao Marzio, il tuo dubbio riguarda le variabili in generale o un aspetto particolare?
@marzioporro36474 жыл бұрын
Ciao, per esempio in un foglio di Excel per la gestione di un magazzino, in che modo potrei utilizzare le variabili all'interno di una macro. Scusami ma ho iniziato da poco la programmazione. Grazie
@NickTheGeek4 жыл бұрын
Non ti devi scusare, anzi. Riguardo il tuo dubbio, dipende da come sono strutturati i fogli e da cosa devi fare, ma in generale VBA ti può essere sicuramente utile; se continui con la playlist vedrai che tra non molto incontrerai i video su condizioni e cicli, e già da quelli ti verranno diverse idee su come automatizzare le tue operazioni abituali. Tra l'altro mi mancano ancora gli ultimi video per chiudere la playlist, e saranno proprio un esempio di gestione di magazzino/ordini (molto spartana), però saranno fatti utilizzando le userform e quindi utilizzando concetti un po' più avanzati che trovi alla fine della playlist. In ogni caso se hai domande specifiche fammele pure, spero di saper rispondere.
@marzioporro36474 жыл бұрын
Ok grazie Nicola a presto.
@Max_sbk125 жыл бұрын
Se utilizzo "static" in testa sotto option exlicit che succede? Che tutte le variabili in quel modulo saranno statiche? Grazie sempre per la tua gentilezza. ;-)
@NickTheGeek5 жыл бұрын
Intendi solo la parola "static" senza nessuna variabile? In questo caso avresti un errore, perché dopo parole come dim, public o static serve sempre una variabile.
@Max_sbk125 жыл бұрын
@@NickTheGeek no, ovvio intendevo con la variabile. Che avrebbe quella caratteristica su tutte le macro di quel modulo immagino?
@NickTheGeek5 жыл бұрын
Sì esatto, rimane sempre Static perché la dichiari una sola volta quindi resta sempre così in quel modulo.
@lucaserra75814 жыл бұрын
@@NickTheGeek Ciao Nick, ma se devo creare una variabile statica che valga per più moduli come faccio? Se metto static in testa mi dice che non è valido all'esterno di una routine
@NickTheGeek4 жыл бұрын
@@lucaserra7581 Ciao Luca, se non sbaglio devi dichiararla come Public all'interno del modulo chiamato "Questa cartella di lavoro"; quindi la puoi usare anche in moduli diversi mantenendone il valore, ma devi sempre farla precedere da ThisWorkbook, seguito dal punto, in quanto la variabile è diventata una proprietà della cartella di lavoro, quindi di ThisWorkbook; ad esempio se dichiari: Public x as Integer allora dovrai sempre richiamarla come ThisWorkBook.x
@MaurizioLotti-w5s Жыл бұрын
Quindi non è possibile usare una variabile "Static" al di fuori della macro in cui è dichiarata
@NickTheGeek Жыл бұрын
confermo, non è possibile
@giorgiogatti4909 Жыл бұрын
Salve Nick attualmente il mio problema è un po dierso dal vba 11 Ho una colonna az in cella az1 ho "numerazione" mentre in az2 ad ogni avvio del tasto-macro mi deve numerare la colonna progressivamente e la numerazione si deve fermare se in colonna Ba non ha nulla cioè (maggiore spiegazione) su rigo Az20=19 e la macro si ferma perchè in BA20 è la prima cella della colonna che non ha nessun dato Grazie dell'aiuto
@NickTheGeek Жыл бұрын
Ciao Giorgio, non ho ben capito, se BA20 è vuota vuol dire che AZ20=19 e AZ21 = vuota? Oppure già la AZ20 deve rimanere vuota?
@giorgiogatti4909 Жыл бұрын
@@NickTheGeek Salve Nick AZ1=numerazione sullo stesso rigo BA1 = dati la macro ad AZ2 scrive 1 poi io riporto il dato in BA2 rilancio la macro e AZ3=2 e si ferma in quanto in BA3 non trova nessun dato poi io riporto il dato in BA3 e rilancio la macro AZ4= (az3=2+1)3 e si ferma perchè in BA4 è vuota e prosegue senza limite di riga Grazie della risposta
@NickTheGeek Жыл бұрын
Farei così: For i = 1 To Rows.Count If Cells(i, 53) "" Then Cells(i + 1, 52) = i Else Exit Sub End If Next i In sostanza inizia a verificare se la cella BA1 non è vuota: se è così, allora scrive 1 in AZ2, scende di una riga e rifà la stessa verifica; se invece è vuota allora esce dalla subroutine. Rows.Count è il numero totale di righe presenti nella tua versione di Excel. Fammi sapere.
@giorgiogatti4909 Жыл бұрын
@@NickTheGeek gentilissimo Nick per necessità ho dovuto cambiare impostazione nel senso di invertire cioè che se la colonna a fianco è piena di dati nella colonna precedente essendo vuota mi deve numerare progressivamente cioè Sub Aumenta_Numero_Riga() Dim i As Integer, x As Integer x = 1 i = 1 For x = 2 To Cells(Rows.Count, "B").End(xlUp).Row - 2 If Cells(1 + x, 2).Value = "" Then Exit Sub Else If Cells(2 + x, 1).Value = "" Then Cells(2 + x, 1).Value = Cells(1 + x, 1).Value + i End If End If Next x End Sub Il grazie vale sempre perchè mi sono cimentato a risolvere
@NickTheGeek Жыл бұрын
con questo nuovo codice il programma si comporta così: 1) verifica la cella B3, cioè Cells(1 + x, 2) 2A) se è vuota, esce 2B) se non è vuota, verifica la cella A4, cioè Cells(2 + x, 1) 3) se è vuota, allora scrive nella stessa cella il valore di A3 aumentato di 1 4) poi riparte scendendo di una riga, cioè nel punto 1 ci sarà B4, nel punto 2B ci sarà A5, nel punto 3 ci sarà A4 Se è questo il comportamento desiderato, allora il codice è corretto
@anacrob7 жыл бұрын
Una domanda: Option Explict "vale" solo all'interno del modulox o per TUTTI i moduli? e cosi pure le variabili dichiarate DIM sotto Option Explict? Grazie
@NickTheGeek7 жыл бұрын
Ciao, Option Explicit vale solo per quel modulo, così come le variabili Dim dichiarate sotto option explicit; se vuoi che le variabili valgano in tutti i moduli del progetto, devi dichiararle come Public (cioè scrivi Public al posto di Dim)
@anacrob7 жыл бұрын
Grazie Nick e complimenti davvero, sono arrivato alla lezione 18 e ti trovo SUPER! vorrei mettermi in contatto con te per una questione complicata su Excel 2016 per MAC. Come posso fare? puoi darmi indicazioni privatamente sulla mia email' GRAZIE E ANCORA COMPLIMENTI!!!!
@NickTheGeek7 жыл бұрын
Grazie troppo gentile! Prova a mandarmi un messaggio privato qui su youtube, così ci scambiamo gli indirizzi email.
@anacrob7 жыл бұрын
ma se rispondo qui il mio indirizzo lo vedono tutti? scusami ma non sono molto pratico di youtube e similari...
@NickTheGeek7 жыл бұрын
sì se lo scrivi qui lo vedono tutti; per guardare i video usi uno smartphone o un computer?
@giovannifaedda16635 жыл бұрын
ci sono sempre 4 geni che devono fare il pollice verso. Direi chiarissimo
@NickTheGeek5 жыл бұрын
Grazie Giovanni, per i pollici versi non è un problema, non si può accontentare tutti.