Video veramente molto utili e spiegati in modo chiaro, complimenti davvero! Grazie.
@NickTheGeek4 жыл бұрын
Grazie a te per i complimenti e per il commento.
@andreagiovannini28586 жыл бұрын
Grazie NickTheGeek, anche su questo video sei stato chiaro anche a seguito dei numerosi esempi proposti per mostrare i diversi comportamenti dei metodi activate e select.
@NickTheGeek6 жыл бұрын
Grazie a te Andrea :)
@gionax4 жыл бұрын
bravo e chiaro nell'esposizione
@NickTheGeek4 жыл бұрын
Grazie!
@nicksan7263 Жыл бұрын
Tutto chiaro. Grazie
@NickTheGeek Жыл бұрын
Ottimo, grazie a te per il commento
@mircobonaso56383 жыл бұрын
Complimenti!!
@NickTheGeek3 жыл бұрын
Grazie!
@carlobinder89745 жыл бұрын
Ciao Nicola, complimenti per il corso, lo sto seguendo ed è chiarissimo. Ti faccio una domanda se posso: ti è mai capitato che una macro/sub, nelle stesse identiche condizioni di partenza (intendo file aperti, celle ecc.) funzioni eseguendo con F5 ma NON con il tasto di scelta rapida cui ho associato la macro? In particolare, c'è un passaggio da un file all'altro, quindi controllerò bene il codice di attivazioni varie; però è strano che, stesso punto di partenza, lancio f5 e va; lancio ctrl+maiusc+A e si blocca nel passaggio tra i file...? Grazie mille!
@NickTheGeek5 жыл бұрын
Ciao Carlo, grazie per i complimenti. Non mi ricordo che mi sia mai successo, ma devo dire che raramente uso tasti di scelta rapida; può darsi (ma mi sembrerebbe comunque strano) che l'operazione di passaggio all'altro file vada in qualche modo in contrasto con la combinazione di tasti che hai scelto; prova a cambiare combinazione (soprattutto prova a togliere il maiusc), oppure anche a cambiare nome della macro.
@carlobinder89745 жыл бұрын
@@NickTheGeek grazie mille a te per la risposta velocissima!! Oggi o comunque in questi giorni dovrei ritestare il tutto, proverò certamente coi suggerimenti che mi hai detto (e soprattutto verificherò per bene l'attivazione di file e fogli, ho riguardato il video attentamente così da essere certo di operare in modo corretto). Nel caso, posso eventualmente condividerti il codice, che magari ti salta all'occhio qualche mio macro errore operativo? Grazie mille di nuovo, a presto! Carlo
@NickTheGeek5 жыл бұрын
Se con F5 funziona non dovrebbero esserci problemi nel codice, ma se anche con le modifiche non funziona ancora puoi senz'altro incollarlo qui in un commento, ci dò un'occhiata.
@carlobinder89745 жыл бұрын
@@NickTheGeek grazie mille, in realtà con il tuo suggerimento di cambiare lettera è andato tutto a buon fine; ed inoltre, come mi avevi anticipato tu, la funzionalità dei tasti di scelta rapida non mi è apparsa estremamente utile, piuttosto eventualmente l'inserimento di una "forma" che fungesse da pulsante cui associare la macro, cosa che in effetti funziona perfettamente. Grazie mille ancora, ci risentiamo per eventuali altri confronti lungo il prosieguo del corso. Carlo Ps. Non hai nulla, o non hai in mente magari qualcosa, riguardo la programmazione sql (o nel caso suggerimenti da darmi in questa direzione)? ;) Grazie!!!
@NickTheGeek5 жыл бұрын
Ottimo, in effetti il pulsante è la scelta migliore. Ho utilizzato sql diversi anni fa e solo marginalmente, quindi non mi sentirei in grado di fare video sull'argomento, mi dispiace; sono sicuro che su youtube puoi trovare diversi corsi al riguardo; se ci sono altre domande su excel ovviamente non esitare :)
@Max_sbk125 жыл бұрын
8:43 perchè utilizzi Activate per un intervallo di celle? Non si utilizzava Select per più celle e Activate per una sola?
@NickTheGeek5 жыл бұрын
Lo uso per mostrare la differenza tra Activate e Select, e perché bisogna fare attenzione a come usarli
@Max_sbk125 жыл бұрын
@@NickTheGeek Appunto, avevo capito che Activate si usasse ESCLUSIVAMENTE per indicare 1 cella e MAI per più celle o un intervallo, come hai fatto in questo esempio in cui mi sembra funzionare ugualmente?
@NickTheGeek5 жыл бұрын
Non so se ho mai detto esplicitamente che Activate debba essere usato solo per le celle singole, può essere, ma sicuramente intendevo darlo come consiglio, non come limite informatico. Infatti puoi usarlo anche negli intervalli ma Select è molto più utile, anche perché non credo che esista un "ActiveRange" come corrispondente dell'ActiveCell che si usa normalmente per indicare la singola cella attiva; per gli intervalli si usa sempre Selection (quindi prima devi aver usato Select sull'intervallo)
@Max_sbk125 жыл бұрын
@@NickTheGeek Lo dici a 2:40 e poi a 4:00 ... comunque grazie della gentilezza! SEI BRAVISSIMO
@NickTheGeek5 жыл бұрын
la differenza è che in quei due momenti parlavo dell'Activate su più fogli (non puoi farlo), mentre al minuto 8:43 mostravo l'Activate sugli intervalli (puoi farlo, ma devi stare attento agli effetti)
@ricercacostantealessandra5 жыл бұрын
Ciao Nick, forse ti chiedo un aiuto impossibile, ma io confido comunque in qualche tuo ragguaglio, perchè non riesco proprio a venirne a capo e non trovo nessun esempio che faccia al mio caso. Ti spiego: - ho delle coppie di numeri; - ciascuna coppia ha una sua specifica corrispondenza con un'altra coppia; - con un comando activex, vorrei poter richiamare la coppia corrispondente dopo aver scritto i due numeri in due celle distinte, una a fianco all'altra, mentre nelle celle sottostanti, vorrei venisse scritto il risultato. A modo mio avrei anche trovato un'alternativa, ma è farraginosa e richiede un sacco di tempo per essere completata. Ho anche provato a registrare una macro ... funziona con la prima coppia di numeri da cercare, poi se ne inserisco altri, si impalla. Se puoi, vorrei sapere come posso impostare il codice per continuare a cercare tutti i numeri della mia tabella. In sintesi: - se in A1 e B1 scrivo i 2 numeri dei quali cercare la corrispondenza - in A2 e B2 vorrei ottenere il risultato attraverso l'uso di un pulsante. Sempre partendo da A1 e B1, vorrei poter continuare ad inserire altri numeri per cercare le altre corrispondenze. Grazie e complimenti per i tuoi video. Ciao
@NickTheGeek5 жыл бұрын
Ciao, grazie per i complimenti. Alcune domande: le corrispondenze tra coppie sono scritte da qualche parte, ad esempio in un altro foglio Excel dello stesso file? Se non è così, è possibile scriverle oppure creerebbe problemi? La tua alternativa prevede una serie di verifiche con IF? Di quante coppie stiamo parlando? I numeri devi sempre scriverli in A1 e B1 sovrascrivendo quelli precedenti?
@ricercacostantealessandra5 жыл бұрын
@@NickTheGeek Ciao, grazie a te anche per la celerità. Ho creato delle tabelle in un altro foglio dello stesso file e vorrei tenerle separate dal foglio nel quale devo fare la ricerca. Sì, i numeri li devo scrivere sempre in A1 e B1 o comunque sempre nelle stesse due celle. Avevo iniziato a creare dei pulsanti utilizzando le forme rettangolari di excel ed assegnando a ciascuno una macro ... se ad esempio ho bisogno di sapere a quali numeri corrisponde la coppia 10 - 17, registro la macro con il risultato e creo il pulsante 10 - 17, poi mi basta cliccare quello per risalire al dato. Questo metodo funziona, ma è snervante e mi riempe il foglio di tantissimi pulsanti. Se si potesse istruire excel con un codice vba e dirgli: quando scrivo questi due numeri in queste due celle, dammi come risultato la tal coppia. Non so se sono riuscita a spiegarmi ... ho provato anche con il CERCA, con il CERCA VERT e anche con altre formule, ma niente da fare, non riesco ad automatizzare. Hai qualche idea? Mi sono capita? :)
@NickTheGeek5 жыл бұрын
Un'altra cosa: com'è strutturata la tabella che contiene le corrispondenze delle coppie? Ad esempio, hai la coppia di partenza in A1 e B1, e la corrispondente coppia di arrivo in C1 e D1?
@ricercacostantealessandra5 жыл бұрын
@@NickTheGeek L' ho strutturata con 18 colonne (le categorie principali di numeri sono 18) : da A1 fino a T1 le coppie principali, sotto i relativi numeri
@NickTheGeek5 жыл бұрын
sono un po' confuso: quindi le coppie iniziali sono 9? le colonne da A a T però sono 20, non 18
@carlodugo38454 жыл бұрын
ciao. per caso hai degli esercizi per ogni lezione? o per caso una raccolta di esercizi per dummies da consigliare? grazie
@NickTheGeek4 жыл бұрын
Ciao, no mi dispiace non saprei come aiutarti, non conosco raccolte di esercizi
@andreagiovannini28586 жыл бұрын
Ciao NickTheGeek, ho scritto alcune righe di codice di prova a seguito di tuo tutorial: Sheets(Array(1, 2)).Select Cells.ClearContents Range("d5:g10").Select Selection = "vba" Prima di far partire la sub riga per riga con F8, attivo il foglio3, quindi verifico che: come richiesto mi attiva i fogli 1 e 2 cancella il contenuto solo del foglio1 (perché?) seleziona l’intervallo compreso tra le celle d5 e g10 su entrambi i fogli scrive “vba” in tutte le celle della selezione in entrambi i fogli. Non capisco perché il codice della riga 2 lo esegue solo sul foglio 1?!? Scusa per la lunghezza del messaggio e grazie!
@NickTheGeek6 жыл бұрын
Ciao Andrea, a me funziona sdoppiando la riga "Cells.ClearContents" così: Cells.Select Selection.ClearContents Non so perché si comporti così, ma probabilmente il metodo ClearContents applicato all'oggetto Cells lavora solo sul foglio attivo (che per definizione può essere solo uno) anche se ne hai selezionati di più; mentre se lo stesso metodo viene applicato a una selezione di celle allora funziona anche su più fogli.
@andreagiovannini28586 жыл бұрын
Grazie NickTheGeek per la tempestività della tua risposta!
@NickTheGeek6 жыл бұрын
Di nulla, se c'è bisogno chiedi pure :)
@silvioiozzia76505 жыл бұрын
Ciao Nick, grazie mille per questo corso!!! lo sto trovando utilissimo. Sto facendo riempire delle tabelle excel ad apertura del file. Il problema e che mi fa vedere tutti i passaggi che fa. Non c'è un modo per farglielo fare in background mentre visualizzo un foglio diverso da quello su cui deve operare? Grazie!
@NickTheGeek5 жыл бұрын
Ciao Silvio, grazie a te per il commento. Se il foglio dove avvengono le operazioni è il Foglio1, allora all'inizio attiva il Foglio2: Sheets("Foglio2").Activate Quindi, per evitare di vedere tutti i passaggi con annesso sfarfallio del monitor, scrivi questa istruzione: Application.ScreenUpdating = False Tieni presente che da questo punto in poi devi sempre specificare che le operazioni devono avvenire sul Foglio1, quindi se ora hai: Cells(1,1)="VBA" allora devi modificare in: Sheets("Foglio1").Cells(1,1)="VBA" Non so che tipo di operazioni devi fare, ma se fossero tutte del tipo qui sopra, allora potresti usare la struttura With... End With: With Sheets("Foglio1") .Cells(1,1)="VBA" .Cells(2,1)="VBA2" etc.... End With Per maggiori informazioni su questa sintassi, guarda anche il video 42 di questa stessa playlist. Tieni anche presente che durante le operazioni di VBA non puoi comunque utilizzare il foglio.
@MiticoMazz4 жыл бұрын
Nick ci indichi qualche sito dove trovare degli esercizi da fare sulle lezioni seguite?
@NickTheGeek4 жыл бұрын
Mi dispiace ma non ne conosco
@petrus_tn4 жыл бұрын
Grazie Nick. Tutto molto, molto chiaro. Ho solo una curiosità: in questo video abbiamo in parte lavorato con due fogli selezionati. Dunque, le operazioni impostate sono state registrate sia sul forglio 1, sia sul foglio 2. Tuttavia noto che questo è avvenuto solo quando è stato assegnato uno stesso contenuto ad un intervallo di celle con due righe di comando - ad esempio - 'Range ("A1:B3") .Select' e poi 'Selection = "VBA" - mentre ciò non è avvenuto quando ad un altro intervallo è stato assegnato direttamente il contenuto - ad esempio 'Range("A5:B7") = "VBA", operazione che ha avuto successo solo sulla pagina attiva. Da quanto ho potuto vedere, nche il metodo 'ClearContents' associato a tutte le celle si comporta in questo modo, concellando il contenuto solo della cella attiva. Come mai? Grazie ancora per questi efficaci tutorial.
@NickTheGeek4 жыл бұрын
Ciao Stefano, grazie. Non saprei la motivazione, ma ti confermo quello che hai notato. La selezione, e quindi anche le successive operazioni eseguite sulla selezione, funziona su tutti i fogli attivi. Le altre operazioni no (ad esempio scrittura diretta e ClearContents). Quindi per eseguire il ClearContents su entrambi i fogli dovresti scrivere due righe: Cells.Select Selection.ClearContents
@robertobraicovick68674 жыл бұрын
Grazie!
@renzomarchi69604 жыл бұрын
Ciao, sono un principiante ma a me nel VBA non funzionano né il tasto F5 né il tasto F8. Cosa devo fare perché funzionino, grazie
@NickTheGeek4 жыл бұрын
Ciao Renzo, probabilmente nel tuo computer quei tasti sono impostati con scopi specifici (ad esempio se sei su un Mac o su una macchina virtuale). In ogni caso , anche fossi su Windows, bisognerebbe capire come si impostano nel computer le funzionalità dei tasti funzione.
@robertobraicovick68676 жыл бұрын
Grazie! Nik visto che mi sei stato di grande aiuto ne approfitto. Avendo installato Parallels sul Mac quando premo F8 per il Debug mi apre iTunes e questo vale anche per F11... non c'è modo di abilitare i tasti per Windows10 anziché Mac? … Non diventare matto a rispondere se ti causa un problema (posso continuare ancora così) Ciao e grazie! :)
@NickTheGeek6 жыл бұрын
Forse puoi provare così: vai sulle Preferenze di Sistema dal Mac, scegli l'icona della tastiera e poi seleziona la casella "Utilizza i tasti F1, F2, ecc. come tasti funzione standard". Questo di sicuro disabilita le funzionalità specifiche del Mac, ma non so se poi su Parallels si traduce nelle normali funzionalità di Windows. Fammi sapere.
@robertobraicovick68676 жыл бұрын
@@NickTheGeek Sono senza parole! Fantastico. Adesso posso continuare le lezioni senza il tarlo dei tasti funzione. :)
@NickTheGeek6 жыл бұрын
ottimo :)
@MassimilianoEsposito757 жыл бұрын
Ciao Nick i tuoi video sono sempre molto molto interessanti! Ho una domanda sulla selezione. Come posso selezionare in un intervallo di celle di una colonna (B90:B130) in cui ci sono formule, solo alcune restituiscono un nome e cognome, selezionare solo le celle col risultato escludendo le altre? Mi sai dare un indicazione?
@NickTheGeek7 жыл бұрын
Ciao Massimiliano, grazie :) Se le celle che non restituiscono un nome e cognome sono vuote (cioè la formula non dà risultato), prova con queste 3 righe: Intersect(Range("b90:b130").EntireRow, Range("C:C")) = Evaluate("IF(" & Range("b90:b130").Address & "="""","""",""x"")") Intersect(Range("C:C").SpecialCells(xlConstants).EntireRow, Range("B:B")).Select Range("C:C").Clear 1) la prima riga considera l'intersezione tra tutte le righe dell'intervallo e la colonna C (in pratica le celle immediatamente a destra dell'intervallo): se la cella dell'intervallo è vuota (ad esempio B90), la corrispondente cella dell'intersezione (ad esempio C90) viene lasciata vuota, altrimenti viene scritto "x" 2) la seconda riga seleziona l'intersezione tra le righe contenenti la "x" e la colonna B (che è il risultato che ti interessa) 3) la terza riga pulisce la colonna C Ho presupposto che la colonna C sia vuota, ma nel tuo caso potrebbe anche non esserlo, quindi eventualmente sostituisci Range("C:C") con qualsiasi colonna vuota del tuo foglio. Fammi sapere se ci sono problemi
@MassimilianoEsposito757 жыл бұрын
NickTheGeek grazie mille sei stato velocissimo e grazie per l'impegno. Stasera provo e ti faccio sapere...
@MassimilianoEsposito757 жыл бұрын
Allora Nick ho provato e funziona alla grande! Sto facendo alcune modifiche per adattarlo al mio foglio, ma va bene! Ho una domanda ancora a cui non riesco a dare risposta. La private sub che contiene le tue istruzioni vorrei collegarla ad un evento, quello di apertura di un elenco di convalida di una cella che si trova in un altro foglio. Vorrei che comunque questa sub, funzioni in "background" anche se il foglio attivo è un altro. Come posso fare?
@NickTheGeek7 жыл бұрын
Ottimo :) per quanto riguarda la tua domanda, non credo che si possa far intercettare l'evento dell'apertura dell'elenco di convalida, andrebbe bene lo stesso se la macro partisse quando viene selezionato un valore da quell'elenco?
@giuseppetramonta6252 Жыл бұрын
SALVE potevi parlare di copia e incolla
@NickTheGeek Жыл бұрын
Ciao. Per replicare in VBA funzionalità che già usi nell'Excel "normale", puoi registrare una macro come spiegato nel video 2 di questa playlist.
@frenksart80667 жыл бұрын
Giustamente selact ti permette di selezionare più oggetti mente activate ti permette di attivare un oggetto e ne puoi attivare uno solo.
@NickTheGeek7 жыл бұрын
esatto
@francescosedita69384 жыл бұрын
troppi esempi nella stessa lezione
@NickTheGeek4 жыл бұрын
Possibile, ma nulla vieta di fermare il video e riprenderlo in seguito.