Al minuto 15:55 dico un'inesattezza: è impossibile abilitare il tasto cmdModificaCliente all'interno dell'evento Click, dato che se siamo all'interno di quell'evento significa che il tasto deve essere già stato abilitato.
Ho risolto cancellando la form e rifacendo l'import della stessa. il codice VBA era corretto e la variabile veniva aggiornata. La prova con una nuova form che conteneva una textbox ha dato esito positivo. Grazie 1000 :).
Nicola buongiorno, d'accordo tutto il discorso sulle variabili che fai per cui dici che è meglio usare (i), (y), (z) ecc. Ma se (i) sono righe e (y) sono colonne perchè non chiamarle (r) e (c)? Così facendo trovo più semplice fare tutte quelle considerazioni sull'indice 0 di una matrice rispetto a 1 per il foglio ecc ecc Credo che sia più intuitivo: (r, 1) e (c, 3) piuttosto che: (i, 1) e (y, 3)....... Probabilmente è solo questione di acquisire confidenza. Sei comunque estremamente chiaro nelle spiegazioni. Grazie, Raffaele
Ciao Raffaele, l'uso di i, j, k nei cicli for è un vecchio retaggio della programmazione, uso sempre quelle; di sicuro sarebbero più intuitive "r" e "c", anzi direttamente "riga" e "colonna", anche se devi scrivere più caratteri probabilmente è meglio essere più espliciti.
Ciao Nick, una domanda. Al posto del ciclo For - Next non è meglio scrivere direttamente "codice_cliente_da_modificare = Me.lstArchivioClienti.List(Me.lstArchivioClienti.ListIndex, 0)", o c'è qualcosa che ignoro?
Ciao Nick, vorrei mandarti il file fino al video 83 e mi devi dire dove sbaglio, eppure ho office 2019 con licenza e no taroccato. Come faccio a mandartelo?
Ciao NicK, anche a me succede lo stesso di filippo61, una volta selezionato il cliente da modificare, al clic del tasto modifica cliente, il codice cliente non appare nella text box,ho controllato il codice, ma mi sembra uguale al tuo. Grazie
Sto seguendo le tue lezioni con piacere..ma ho notato che nella lista evidenziando la prima riga il pulsante Modifica Cliente non apre la finestra di modifica.....è forse un mio errore di composizione oppure capita anche al tuo programma? Grazie
Ciao, deve funzionare con tutte le righe della listbox; prova a vedere se per caso nel ciclo For dell'evento Click hai fatto partire il valore della variabile da 1 anziché zero.
Lezione interessante come al solito. Volevo capire perche' quando seleziono un codice nella lista il pulsante Modifica Clienti apre la form di modifica ma non viene aggioranata la txtCodiceClienti (riferimento time 18:14) . Grazie :)
Ciao Filippo, difficile da capire, però prova a vedere se hai dichiarato la variabile codice_cliente_da_modificare come pubblica nel modulo esterno alle userform (Modulo1 nel video). Altrimenti prova a fare tutto il giro dall'inizio con F8, e vedi qual è il valore di quella variabile nel momento in cui parte l'evento Initialize della userform ModificaDatiCliente.
Mi dispiace ma ho già registrato tutti i video; se qualche passaggio di schermata non è chiaro puoi comunque rallentare la velocità del video, o se hai dubbi specifici ovviamente puoi chiedermi nei commenti.
Personalmente non avrei rinnominato le textbox. Perché mi dirai: esempio For i = 2 To 10 Me.Controls("TextBox" & i) = Sheets(xxx).Cells(la tua variabile, i) Next i Questo valevole anche per le etichette. Me.Controls("Label" & i) = Sheets(xxx).Cells(1, i) E invece di Find, avrei utilizzato Application.Match, più rapida et sicura. variabile = Application.Match(Textbox.Value, Sheets(1).Columns(1),0), senza selezionare tutta la colonna.
Al minuto 15:55 dico un'inesattezza: è impossibile abilitare il tasto cmdModificaCliente all'interno dell'evento Click, dato che se siamo all'interno di quell'evento significa che il tasto deve essere già stato abilitato.
Ho risolto cancellando la form e rifacendo l'import della stessa. il codice VBA era corretto e la variabile veniva aggiornata. La prova con una nuova form che conteneva una textbox ha dato esito positivo. Grazie 1000 :).
Ottimo, di niente figurati.
Veramente Molto interessante e spiegazioni nel dettaglio
Grazie Carlo!
Ciao nick bel corso e spiegato veramente bene
Ciao Giovanni, grazie.
Nicola buongiorno, d'accordo tutto il discorso sulle variabili che fai per cui dici che è meglio usare (i), (y), (z) ecc. Ma se (i) sono righe e (y) sono colonne perchè non chiamarle (r) e (c)?
Così facendo trovo più semplice fare tutte quelle considerazioni sull'indice 0 di una matrice rispetto a 1 per il foglio ecc ecc
Credo che sia più intuitivo: (r, 1) e (c, 3) piuttosto che: (i, 1) e (y, 3).......
Probabilmente è solo questione di acquisire confidenza. Sei comunque estremamente chiaro nelle spiegazioni.
Grazie, Raffaele
Ciao Raffaele, l'uso di i, j, k nei cicli for è un vecchio retaggio della programmazione, uso sempre quelle; di sicuro sarebbero più intuitive "r" e "c", anzi direttamente "riga" e "colonna", anche se devi scrivere più caratteri probabilmente è meglio essere più espliciti.
Ciao Nick, una domanda.
Al posto del ciclo For - Next non è meglio scrivere direttamente "codice_cliente_da_modificare = Me.lstArchivioClienti.List(Me.lstArchivioClienti.ListIndex, 0)", o c'è qualcosa che ignoro?
Ciao Sandro, sì si può semplificare in questo modo, grazie per la segnalazione, non conoscevo questa proprietà.
Useful come sempre esimio
Thank you as usual, egregio
Ciao Nick, vorrei mandarti il file fino al video 83 e mi devi dire dove sbaglio, eppure ho office 2019 con licenza e no taroccato. Come faccio a mandartelo?
Ciao Alberto, puoi inviarlo a nickthegeek.yt@gmail.com (nell'email indicami qual è l'errore e a che punto compare).
Ciao NicK, anche a me succede lo stesso di filippo61, una volta selezionato il cliente da modificare, al clic del tasto modifica cliente, il codice cliente non appare nella text box,ho controllato il codice, ma mi sembra uguale al tuo. Grazie
Ciao Marzio, dovrei vedere il file, me lo mandi via email?
Sto seguendo le tue lezioni con piacere..ma ho notato che nella lista evidenziando la prima riga il pulsante Modifica Cliente non apre la finestra di modifica.....è forse un mio errore di composizione oppure capita anche al tuo programma?
Grazie
Ciao, deve funzionare con tutte le righe della listbox; prova a vedere se per caso nel ciclo For dell'evento Click hai fatto partire il valore della variabile da 1 anziché zero.
@@NickTheGeek Grazie,
ma avevo fatto un errore nello scrivere Cells(2,1) ho scritto 1,1
ciao
ok, problema risolto :)
Lezione interessante come al solito. Volevo capire perche' quando seleziono un codice nella lista il pulsante Modifica Clienti apre la form di modifica ma non viene aggioranata la txtCodiceClienti (riferimento time 18:14) . Grazie :)
Ciao Filippo, difficile da capire, però prova a vedere se hai dichiarato la variabile codice_cliente_da_modificare come pubblica nel modulo esterno alle userform (Modulo1 nel video).
Altrimenti prova a fare tutto il giro dall'inizio con F8, e vedi qual è il valore di quella variabile nel momento in cui parte l'evento Initialize della userform ModificaDatiCliente.
se puoi al momento di passare da una videata all'altra farlo più lentamente. Grazie Francesco
Mi dispiace ma ho già registrato tutti i video; se qualche passaggio di schermata non è chiaro puoi comunque rallentare la velocità del video, o se hai dubbi specifici ovviamente puoi chiedermi nei commenti.
Só che preparare i tuoi video non è semplice ....ma a qnd il prox ??
Li ho già registrati tutti, li pubblico il martedì e il venerdì.
Personalmente non avrei rinnominato le textbox. Perché mi dirai: esempio
For i = 2 To 10
Me.Controls("TextBox" & i) = Sheets(xxx).Cells(la tua variabile, i)
Next i
Questo valevole anche per le etichette. Me.Controls("Label" & i) = Sheets(xxx).Cells(1, i)
E invece di Find, avrei utilizzato Application.Match, più rapida et sicura.
variabile = Application.Match(Textbox.Value, Sheets(1).Columns(1),0), senza selezionare tutta la colonna.
Ciao Jacky, grazie.