Corso VBA Excel ITA - 16 - Condizioni (parte 1)

  Рет қаралды 12,147

NickTheGeek

NickTheGeek

Күн бұрын

Пікірлер: 62
@eugeniofiorilli5884
@eugeniofiorilli5884 2 жыл бұрын
Complimenti. Spieghi in maniera chiarissima e comprensibile anche a chi, come me, purtroppo non ha effettuato nessun corso di studi relativi alla programmazione. Grazie
@NickTheGeek
@NickTheGeek 2 жыл бұрын
Grazie Eugenio per i complimenti; mi fa piacere che i video siano utili!
@vitogiuseppetoto7595
@vitogiuseppetoto7595 3 жыл бұрын
Ciao Nick; complimenti per il video, molto chiaro nella spiegazione di If, Elseif ed Else. Grazie.
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Ciao Vito, grazie mille.
@enzof3820
@enzof3820 5 жыл бұрын
Ciao e grazie per il video. tutto spiegato con dettaglio e chiarezza. Il VBA e' piu' semplice grazie a Nick
@NickTheGeek
@NickTheGeek 5 жыл бұрын
Grazie Enzo :)
@JustYouAvatar
@JustYouAvatar 4 жыл бұрын
Grazie per i video
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Grazie a te per il commento
@giovanniciriello8585
@giovanniciriello8585 Жыл бұрын
Ciao Nick, ho una domanda. Spesso mi capita di incontrare delle condizioni scritte in questo modo: If Win64 Then... c'è una variabile ma manca l'operatore logico/matematico. Come va interpretato?
@NickTheGeek
@NickTheGeek Жыл бұрын
Ciao Giovanni. Potrebbe voler dire due cose: Win64 è una variabile booleana (vero/falso) e la condizione verifica se è vera, quindi è come se fosse scritto: If Win64 = True Then... Altrimenti Win64 potrebbe essere una variabile di altro tipo, e quella condizione verifica se le è stato assegnato un valore: Win64 = 5 If Win64 Then... in questo caso la condizione sarebbe vera, perché Win64 contiene il valore 5; se invece non le viene assegnato alcun valore la variabile resta Null, e quindi la condizione: If Win64 Then... sarebbe falsa.
@giuseppesantopuoli9279
@giuseppesantopuoli9279 3 жыл бұрын
Ciao Nick. In primo luogo ti faccio i complimenti per il corso che sto trovando molto coinvolgente. Ti volevo chiedere una cosa: i comandi rapidi f5 e f8 in VBA non mi funzionano più. Per intenderci, se premo f8 parte la funzione del pc proietta schermo (quella con due pc sovrapposti) mentre se premo f5 viene associato al comando play, quindi se ho un video su youtube mi parte in automatico (in questo caso, seguendo i tuoi video, mi si mettono in pausa). Esiste un modo per re-impostare le funzioni vba degli shortcut? Grazie in anticipo.
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Ciao Giuseppe, grazie per i complimenti. La gestione dei tasti dipende dal singolo computer, quindi non posso esserti d'aiuto; è come se sul tuo pc si fosse abilitato permanentemente il tasto fn (di solito è sul lato destro o sinistro della barra spaziatrice), che consente di eseguire le funzioni secondarie dei tasti (nel tuo esempio il play su F5), ma non so da cosa possa dipendere. Per utilizzare Excel usi un Mac? Un simulatore? Una macchina virtuale? In ogni caso quando sei in VBA prova a premere F5 ed F8 insieme al tasto fn per vedere se si inverte l'operatività standard di quei tasti.
@giuseppesantopuoli9279
@giuseppesantopuoli9279 3 жыл бұрын
@@NickTheGeek Ti ringrazio per la risposta. Io utilizzo Excel su un sistema operativo windows. Effettivamente, premendo f5 o f8 insieme al tasto fn, mi riporta alle funzioni primarie dei tasti. Quindi procederò così, in attesa di capire come ripristinare il corretto funzionamento di f5 e f8.
@danielececl2633
@danielececl2633 4 жыл бұрын
Ciao Nick, premesso che è chiarissimo il modo in cui spieghi vorrei farti una domanda che magari affronterai nei prossimi corsi. Io scrivo una sub con delle condizioni e faccio riferimeno a delle celle specifiche. Come faccio a ripetere questo comando che nel.mio caso è di 26 volte nelle celle successive. Ad esempio imposto tutto facendo riferimento al range (a1 : e1) e il risultato lo scrivo in f1. Devo avere i risultati utilizzando le stesse condizioni anche per le successive 26 righe. Spero di essermi spiegato. Grazie
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Ciao Daniele. La cosa che fa al caso tuo sono i cicli For, con i quali puoi ripetere la stessa operazione un certo numero di volte, ad esempio una riga sotto l'altra prendendo di volta in volta le celle che ti interessano. Li spiego a partire dal video 20, se ci sono dubbi specifici scrivimeli pure.
@danielececl2633
@danielececl2633 4 жыл бұрын
@@NickTheGeek ok grazie... mancano pochi video per arrivare al 20😉.
@francescopandini8364
@francescopandini8364 Жыл бұрын
salve, vorrei sapere a cosa serve la funzione DoEvents in italiano Eventi a me risulta che introduce un ritardo. Saluti Francesco
@NickTheGeek
@NickTheGeek Жыл бұрын
Ciao, il DoEvents consente all'utente di eseguire altre operazioni mentre una subroutine è in esecuzione; ad esempio: For i = 1 to 10000 qui ci sono le operazioni da fare all'interno del ciclo For... ... ... DoEvents Next i in questo caso il ciclo prevede di eseguire 10000 volte le operazioni al suo interno, e durante questo tempo (potenzialmente lungo) l'utente non può fare niente; inserendo il DoEvents, invece, l'utente può usare i comandi presenti nella userform o modificare il foglio excel. Bisogna però fare attenzione al fatto che queste modifiche interrompono l'esecuzione del ciclo For.
@robertobraicovick6867
@robertobraicovick6867 6 жыл бұрын
Grazie!
@Pietro1953bis
@Pietro1953bis 7 жыл бұрын
Ciao Nick, sto seguendo il tuo corso ma arrivato al video nr. 16 parte 1 non ne ho trovati altri. Che è successo ? Hai smesso con questo video 16 ? Peccato perché li trovavo molto interessanti. Mi puoi far sapere se ce ne sono altri o no ? Grazie Pietro
@NickTheGeek
@NickTheGeek 7 жыл бұрын
ciao Pietro, grazie; sto pubblicando i video su VBA ogni domenica, quindi il prossimo sarà domani :)
@Pietro1953bis
@Pietro1953bis 7 жыл бұрын
Ah ok. Pensavo che li avessi già registrati tutti. Rinnovo i ringraziamenti. Ciao
@merloamministrazioni1260
@merloamministrazioni1260 4 жыл бұрын
Ciao Nick. Grazie e complimenti per lo splendido corso. Sto muovendo i primi passi. Ho un problema: non riesco a fare aprire un file excel il cui nome è il valore della variabile NomeFile che ho dichiarato come public. Da debug.print vedo che la variabile ha preso il nome del file che voglio aprire corretto, ma quando la inserisco nel comando Workbooks. open fillename:= "z:\corso vba\prove\NomeFile" mi dice che non ha trovato il file NomeFile. Cosa sbaglio? grazie ancora ciao
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Ciao, grazie a te per i complimenti. Quello che metti tra virgolette viene sempre considerato letteralmente come lo scrivi, quindi l'istruzione: Workbooks.open filename:= "z:\corso vba\prove\NomeFile" significa che vuoi aprire un file che si chiama esattamente NomeFile, mentre quello è solamente il nome della variabile che contiene il nome del file. Prova a eseguire una concatenazione tra il percorso fino al nome del file (escluso) e il nome del file: Workbooks.open filename:= "z:\corso vba\prove\" & NomeFile In questo modo viene considerato letteralmente tutto ciò che è tra virgolette, a cui poi viene aggiunto non la stringa "NomeFile", bensì il valore assunto dalla variabile. Forse funziona anche senza esplicitare il nome del parametro filename, ma solo il suo valore, quindi: Workbooks.open "z:\corso vba\prove\" & NomeFile
@merloamministrazioni1260
@merloamministrazioni1260 4 жыл бұрын
@@NickTheGeek GRAZIE, FUNZIONA!
@doursaque
@doursaque 5 жыл бұрын
Ciao Nick! Complimenti per i video! Una domanda vorrei fare,gentilmente : nei casi di pulsanti di opzione è caselle di controllo, cioè condizioni multipli, di più oggetti, nella stessa sub routine, ad ognuno di questi gli vanno dati i propri if - else if - else if - else if - else - end if? Oppure è sufficiente un primo if poi else if, tutti compresi nei elseif, con un else semifinale ed un end if finale? Spero non sia una domanda stupida! Ciao e grazie mille per gli sforzi e la dedizione!
@NickTheGeek
@NickTheGeek 5 жыл бұрын
Ciao genci, grazie :) Per quanto riguarda la tua domanda, tutto dipende da cosa vuoi fare con le opzioni e le caselle di controllo, però di solito l'unica cosa da fare è selezionarle. Quindi se si tratta di opzioni, dato che ne puoi selezionare solo una, ti basta un solo if e poi una serie di elseif in base a quante sono le opzioni da verificare. Se invece sono caselle di controllo, le cose si complicano un po' perché ne puoi selezionare anche più di una, quindi devi verificare esattamente quali sono selezionate, e per farlo credo che il sistema migliore sia quello di usare degli if annidati. Ad esempio se hai 3 caselle checkbox1, checkbox2 e checkbox3, e il programma deve fare qualcosa di diverso a seconda che siano selezionate tutte e tre oppure solo le prime due, allora: If CheckBox1 = True Then If CheckBox2 = True Then If CheckBox3 = True Then 'qui vanno le istruzioni da eseguire se tutte e tre le caselle sono selezionate ElseIf 'qui vanno le istruzioni da eseguire se sono selezionate solo le prime due caselle
@doursaque
@doursaque 5 жыл бұрын
NickTheGeek grazie per la risposta, veramente. Un ultimo chiarimento, le caselle di controllo operano singolarmente, perciò, presumo che debba ognuna avere il suo if-else-end if. Grazie, veramente, mi ha fatto molto piacere. Il tuo metodo explicativo è davvero di qualità. Buona serata!
@NickTheGeek
@NickTheGeek 5 жыл бұрын
grazie a te; esatto, serve una condizione separata per ogni casella di controllo, eventualmente anche annidate come ho scritto nel commento precedente
@elisabettaspirito9977
@elisabettaspirito9977 3 жыл бұрын
ciao Nick intanto grazie mille. se volessi inserire un E o un O come condizione allo stesso modo dei SE/IF di excel come faccio? nel video abbiamo visto solo una condizione.. intanto continuo a vedere gli altri e penso che troverò cmq la risposta grazie davvero sei bravissimo!
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Ciao Elisabetta, penso che troverai risposta nel video 18 (si risolve con And/Or), comunque ti anticipo che puoi farlo in questo modo: If Cells(1, 1) = "A" And Cells(1, 2) = "B" Then 'condizione vera se A1 = "A" e se B1 = "B" If Cells(1, 1) = "A" Or Cells(1, 1) = "B" Then 'condizione vera se A1 = "A" oppure "B"
@gabrieleperoni9288
@gabrieleperoni9288 5 жыл бұрын
Ciao Nick; Innanzitutto complimenti per i video; volevo poi chiederti se ci fosse qualche testo/libro che consiglieresti per approfondire l'argomento VBA. Grazie.
@NickTheGeek
@NickTheGeek 5 жыл бұрын
Ciao Gabriele, grazie per i complimenti. Non conosco molti libri, perché quando ho bisogno di cercare qualcosa di specifico digito sempre la ricerca su google, e di solito ovunque mi porti va bene; come libri ti consiglio eventualmente quelli di "Power Programming" di John Walkenbach (non so se sono tradotti in italiano). Ma sinceramente non so se valga la pena affrontare la spesa.
@riccardoricky1335
@riccardoricky1335 4 жыл бұрын
ciao Nick, ho questa Macro che ho creato per cancellare una riga di una tabella in cui una cella della colonna 9 soddisfa una condizione (in questo caso che ci sia scritto VERDESI). Vorrei chiederti se è possibile cancella una riga dove, però, ci siano 2 condizioni (ad es. nella colonna 9 della tabella ci sia scritto VERDESI e nella colonna 15 della tabella ci sia scritto ANNULLATO) Grazie per l'attenzione. Riccardo Sub CANCELLA_VERDESI() ' ' CANCELLA_VERDESI Dim ur As Integer Worksheets("Tracking").Cells(5, 4).Value = 0 With Sheets("Tracking") ur = .Cells(Rows.Count, 9).End(xlUp).Row For n = ur To 2 Step -1 If .Cells(n, 9).Value = "VERDESI" Then .Cells(n, 9).EntireRow.Delete End If Next n End With End Sub
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Ciao Riccardo; al posto dell'istruzione: If .Cells(n, 9).Value = "VERDESI" Then potresti tentare con: If .Cells(n, 9).Value = "VERDESI" and .Cells(n, 15) = "ANNULLATO" Then Fammi sapere se funziona
@riccardoricky1335
@riccardoricky1335 4 жыл бұрын
@@NickTheGeek grande Nick, funziona perfettamente, è un comando che non conoscevo ma che adesso mi sarà UTILISSIMO. Grazie mille, semplice e chiaro nelle spiegazioni!!! Una cosa vorrei sapere se si può fare: invece di inserire ESATTAMENTE il valore della colonna 15 della tabella (che è sempre un testo nel mio caso), si può cercare se il valore "contiene" una parte del testo? (Ad. esempio una parola di un'intera frase). Non so utilizzando degli asterischi....non saprei. Ti ringrazio, come sempre, gentilissimo.
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Ciao, puoi usare la funziona Instr, che restituisce un valore boolean (vero/falso) e vuole due argomenti obbligatori: Instr(stringa_in_cui_cercare, stringa_da_cercare) Ad esempio, usando: If Instr(Cells(n, 15), "ANNULLATO") Then viene cercata la parola ANNULLATO all'interno della cella, ma solo se scritto tutto in maiuscolo; se vuoi eseguire la ricerca indipendentemente da maiuscole/minuscole, allora puoi usare le funzioni UCase o LCase, oppure più semplicemente usare il terzo argomento vbTextCompare: If Instr(Cells(n, 15), "ANNULLATO", vbTextCompare) Then In questo esempio, "ANNULLATO" può essere scritto in qualsiasi modo (maiuscole/minuscole) e verrebbe trovato comunque.
@riccardoricky1335
@riccardoricky1335 4 жыл бұрын
@@NickTheGeek grazie Nick, la provo prima possibile e ti faccio sapere. Grazie, come sempre gentilissimo.
@riccardoricky1335
@riccardoricky1335 4 жыл бұрын
ciao Nick ho provato ma sicuramente ho commesso qualche errore da principiante che però non capisco. La macro che ho fatto cancellava una riga intera se una cella soddisfava una condizione, a me serve che ne soddisfi 2 di condizioni, in particolare nella cella 9 sia "contenuta la parola verdesi" e nella cella 18 tutte le stringhe dove sia scritto "non preso" oppure "non è stato preso" oppure "non è stato ancora preso", insomma dove le parole chiave sono "non" e "preso". L'ho scritta così ma il debug mi dà errore di sintassi. Puoi aiutarmi?, Grazie come sempre. Sub CANCELLA_verdesi_non_preso() ' CANCELLA verdesi che non è stato preso Dim ur As Integer Worksheets("acquisti").Cells(5, 4).Value = 0 With Sheets("acquisti") ur = .Cells(Rows.Count, 9).End(xlUp).Row For n = ur To 2 Step -1 If instr (Cells(n, 9),"verdesi" And Instr(Cells(n, 18),"*non* preso*" Then .Cells(n, 9).EntireRow.Delete End If Next n End With End Sub
@mauroderogatis5407
@mauroderogatis5407 4 жыл бұрын
Ciao Nick, grazie della risposta che mi hai dato. ora ci provo a chiederti come posso con VBA immettere Diff.Data, io ci provo con pessimo risultato e passare automaticamente la prima lettera maiuscola di un nome. in excell ci riesco ma non con VBA. Grazie per ora CIAO
@NickTheGeek
@NickTheGeek 4 жыл бұрын
Ciao Mauro. Per Data.Diff esiste la corrispondente funzione di VBA DateDiff, che richiede come argomenti il tipo di intervallo che vuoi come risultato (mesi, giorni, etc.), la data di inizio e la data di fine. Quindi se in A1 hai la data di inizio, in A2 la data di fine, e in A3 vuoi avere la loro differenza in giorni, devi scrivere: Cells(3,1) = DateDiff("d", Cells(1, 1), Cells(2, 1)) Se ti servono tutti i codici che puoi usare come intervallo (il primo argomento), guarda qui subito sotto a "Settings": docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/datediff-function Per la prima lettera maiuscola, puoi usare la funzione StrConv che serve a convertire le stringhe in diversi formati; il formato che ti interessa è vbProperCase, quindi supponendo che in A2 tu voglia avere la conversione della stringa presente in A1, la funzione diventa: Cells(2,1) = StrConv(Cells(1,1), vbProperCase)
@mauroderogatis5407
@mauroderogatis5407 4 жыл бұрын
Grazie Nick, ora provo ad'usarlo sempre su quel programma del programma degli anziani che mi sono preso l'impegno di rifarlo dal fatto che il signore che lo fece ormai. Vedo se ci riesco a farlo in automatico con l'istruzione di OGGI(). Ciao
@NickTheGeek
@NickTheGeek 4 жыл бұрын
se usi la funzione Oggi() in una cella dovrebbe funzionare
@danielebalbi5753
@danielebalbi5753 6 жыл бұрын
Ciao NickTheGeek! Come al solito grandissimo! Una domanda per te. Premetto che potrebbe benissimo essere che fornisci la risposta nei video successivi ma preso dalla smania di provare ciò che ho imparato fino a qui mi è sorto un dubbio. Esiste una funzione o metodo o proprietà che mi consenta alla fine di una sub di ripristinare la situazione di partenza? Mi spiego meglio mettiamo che all'avverarsi di una condizione (if) la macro mi vada a fare un copy and paste su un range di celle che vengono filtrate dalla sub stessa. A questo punto vorrei che la macro mi ripristinasse la situazione esattamente come era prima di applicare la condizione, cioè prima del filtro e con i valori iniziali. Siccome in mezzo c'è già un select copy and paste non posso usare questo sistema per copiare e incollare la situazione iniziale almeno che non la copi in un altro worksheet e all fine la vada a copiare e incollare nuovamente. Sono quasi sicuro che tu mi possa svelare un trucco... vero ? Grazie in anticipo e se non è chiaro fammi sapere. Ciao
@NickTheGeek
@NickTheGeek 6 жыл бұрын
Ciao Daniele, purtroppo per fare quello che chiedi non c'è nessun automatismo standard di VBA, infatti in uno dei primi video ho suggerito di salvare sempre il file prima di lanciare la macro, perché se i dati vengono sovrascritti non c'è niente da fare. La soluzione più semplice è quella che hai individuato, cioè quella di copiare i dati originali in un altro foglio che faccia da copia di sicurezza. Si potrebbe aggirare l'ostacolo tramite la scrittura di qualche macro, ad esempio ne ho sempre una in testa che non ho mai messo in pratica (e non so nemmeno se funzionerebbe), che però utilizza concetti che troverai più avanti nei video. Al momento non ti dirà niente, comunque per fartela breve: 1) si crea un tipo di variabile personalizzato che contenga due proprietà: l'indirizzo di una cella e il suo contenuto 2) si crea una matrice che dovrà contenere tutte le variabili 3) tramite ciclo FOR si scrive in ogni indice della matrice un'accoppiata indirizzo/contenuto (questa è l'operazione di salvataggio dei dati originali) 4) si lancia la sub che modifica i dati 5) alla fine della sub compare un messaggio che chiede se si vuole ripristinare i dati originali 6) se si risponde di sì, allora i dati vengono letti dalla matrice e riscritti nelle rispettive celle tramite l'accoppiata indirizzo/contenuto (in pratica l'operazione inversa del punto 3)
@danielebalbi5753
@danielebalbi5753 6 жыл бұрын
Ciao. Innanzitutto grazie per la risposta. Il mio problema non è legato al salvataggio ma ad un foglio che utlizzo come configuratore in cui vado a cambiare i valori. Vorrei una macro che cliccando un bottone mi riporti tutto allo stato iniziale. Ad ogni modo al momento sto provando ad ovviare al problema creando un nuovo foglio lavoro esattamente identico al foglio iniziale. Nel foglio inizale vado a fare le mie selezioni. Una volta terminato il bottone (la sua macro) mi andrà a copiare le selezioni in una tabella e poi a copiare il foglio "matrice" e incollarlo sui foglio inizale così da resettare tutto. L'unico problema che sto incontrando sono le check box che vengono sovrapposte. Sto cercando un comando che mi vada a cancellare le check box. Forse l'ho trovato. Devo fare un test. Grazie mille!
@NickTheGeek
@NickTheGeek 6 жыл бұрын
Per riportare tutto allo stato iniziale è comunque necessario salvare le informazioni originali in qualche modo; se hai anche dei controlli tipo checkbox la cosa si complica, e la matrice che ti ho indicato nella mia prima risposta non andrebbe più bene, dovresti crearne una seconda per memorizzare gli stati di tutte le checkbox. Inoltre se devi ripristinare la situazione iniziale tramite macro a sé stante (premendo un bottone), allora la matrice non andrebbe comunque bene perché il suo contenuto si perderebbe alla fine della prima macro. Non so come esserti utile, mi dispiace. Immagino che l'unica sia quello che stai già facendo, cioè salvare i dati in un altro foglio.
@andreagiovannini2858
@andreagiovannini2858 6 жыл бұрын
Ciao NickTheGeek, grazie anche per questo video molto interessante e come sempre spiegato affrontando l’argomento tenendo conto di tutte le casistiche che si possono presentare. Ti chiedo di indicarmi cosa c’è di sbagliato nella subroutine che riporto di seguito nella quale verifico che ottengo quanto desiderato se all’interno della cella “a1” è presente un numero minore di 5 (prima condizione), oppure un numero compreso tra 6 e 20 (seconda condizione). In poche parole ciò che non funziona è “else” (tutti gli altri casi) in quanto anche per valori maggiori di 20 ottengo sempre la risposta "numero compreso tra 6 e 20" che fa riferimento all’ “elseif” precedente. Ipotizzo che l’errore sia legato alla sintassi della riga che ha numero commentato 102 ... If Range("a1") 5
@NickTheGeek
@NickTheGeek 6 жыл бұрын
Ciao Andrea, la tua ipotesi è giusta: la riga 102 deve essere scritta così: ElseIf Range("a1") > 5 and Range("a1")
@andreagiovannini2858
@andreagiovannini2858 6 жыл бұрын
Grazie Nick!
@corrado96
@corrado96 3 жыл бұрын
Ciao Nick e GRAZIEEEE. C'è un video dove spiega come spostarsi alla cella successiva in caso di campo compilato ? Esempio: Da B2:E2, i campi sono compilati...allora il programma si deve puntare sulla cella sottostante (B3:E3). Grazie mille e scusa se ti disturbo oltre a quello che ci insegni :)
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Ciao Corrado, non ho ben capito: deve verificare se tutte le celle dell'intervallo B2:E2 sono compilate? E in tal deve essere selezionato l'intervallo B3:E3? Oppure bisogna scrivere in qualche cella dell'intervallo?
@corrado96
@corrado96 3 жыл бұрын
@@NickTheGeek provo a spiegarmi. Le celle di B2....sono sempre compilate c'è formula. Io devo copiarle e incollare qualche riga sotto con copia valori...poi devo continuare ad eseguire la stessa copiatura sotto ma scendendo di una riga per volta per non sovrascrivere quelle che ho già copiato. Grazie Nick, sei unico!!!
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Mi dovresti fare un esempio pratico: l'intervallo B2:E2 è già compilato, quindi lo copio e tento di incollarne i valori in B3:E3, ma se questo intervallo è già compilato allora devo incollare in B4:E4? E dopo devo copiare ancora l'intervallo B2:E2 e copiarlo in B5:E5? E per quante righe bisogna ripetere il giro?
@corrado96
@corrado96 3 жыл бұрын
@@NickTheGeek Grande Nick, hai capito... solitamente una decina di volte. :)
@NickTheGeek
@NickTheGeek 3 жыл бұрын
Farei così: Range("B2:E2").Select Selection.Copy For i = 3 To 12 If Cells(i, 2) = "" Then Cells(i, 2).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Next i Application.CutCopyMode = False In pratica, seleziona e copia l'intervallo B2:E2, quindi verifica tutte le righe da 3 a 12, e se la seconda colonna è vuota, allora la seleziona e incolla il contenuto dell'intervallo B2:E2; l'ultima linea serve per eliminare il tratteggio del "copia".
Corso VBA Excel ITA - 17 - Condizioni (parte 2)
24:10
NickTheGeek
Рет қаралды 10 М.
Corso VBA Excel ITA - 29 - Interazioni con l'utente
28:10
NickTheGeek
Рет қаралды 8 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
Corso VBA Excel ITA - 22 - Combinazioni For/If
22:55
NickTheGeek
Рет қаралды 11 М.
Corso VBA Excel ITA - 19 - Select Case
15:13
NickTheGeek
Рет қаралды 9 М.
Somma di una Selezione
6:16
Eris Magagnin
Рет қаралды 45
Corso VBA Excel ITA - 20 - Ciclo For... Next
24:31
NickTheGeek
Рет қаралды 16 М.
Corso VBA Excel ITA - 23 - Ciclo Do While... Loop
15:35
NickTheGeek
Рет қаралды 11 М.
Corso VBA Excel ITA - 9 - Variabili (parte 1)
23:13
NickTheGeek
Рет қаралды 17 М.
Corso VBA Excel ITA - 12 - Costanti
11:13
NickTheGeek
Рет қаралды 10 М.
Corso VBA Excel ITA - 2 - Macro
16:25
NickTheGeek
Рет қаралды 43 М.
Corso VBA Excel ITA - 11 - Variabili (parte 3)
21:26
NickTheGeek
Рет қаралды 13 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН