Home › Forum › Domande su Excel VBA e MACRO › [RISOLTO] Inserimento dati con maschera
-
AutorePost
-
-
Salve ragazzi,
io ho iniziato a produrre una mia idea ma, ovviamente, mi sono bloccato perchè il mio livello è quello che è.
Per capire meglio sin dal principio potete guardare un post precedente:https://www.bysal-excel.it/forums/topic/controllo-doppioni/#post-8607
Descrivo quello che ho fatto nella speranza che possiate aiutarmiSul doppio Click della colonna “C” del codice che mi interessa si apre una UserForm che contiene 3 cose:
1 – una TextBox la quale vorrei contenesse la situazione di tutti i seriali inseriti per quell’apparato (come già stato fatto da Sal), ovvero la macro VediDopp12 – 2 checkbox con due etichette (una per ogni checkbox)
La prima etichetta si chiama “PRENOTA” ed a fianco una TextBox la quale può accettare solo numeri
La seconda etichetta collegata alla seconda checkbox si chiama “ASSEGNA” ed a fianco due textbox “DA” “A” ed anch’esse possono accettare solo numeri
Alla textbox di “PRENOTA” posso mettere un numero ed una volta confermato con il pulsante OK la macro deve solo colorare di GIALLO un numero di celle pari al numero inserito, quindi se scrivo “10” deve colorare di giallo le prime 10 celle dei seriali di quel codice ma il contenuto delle celle rimane invariato.
Sarebbe “figo” se potesse inserire anche una riga nuova nel caso viene inserito un numero superiore a 20 ed un altra ancora per numeri superiori a 40 e così via
La TextBox ASSEGNA deve fare la stessa cosa ma con anche i numeri seriali disposti in modo progressivo
Il concetto è che solitamente io coloro prima le celle in modo da capire quanto prodotti ha ordinato al fine di organizzarmi ed una volta che sono a conoscenza dei seriali da assegnare posso inserire anche i seriali nelle celle colorare di giallo (infatti nella colonna E c’è una formula che conta in base al colore della cella)
Spero in un Vostro aiuto perchè io non sono ad un livello tale da poterci riuscire da solo
Grazie a tutti per l’aiuto!! -
Ciao
Mi permetto un consiglio: al posto delle checkbox usa le OptionButton; sono più adatte alla tua esigenza perchè non devi preoccuparti di escludere il flag dagli altri controlli; con le OB il flag nel controllo attivo, esclude il flag in tutti gli altri (tranne in casi particolari, ma questo non è il tuo) -
Ciao
Se a te piace scrivere codice allora ti consiglio di leggere quanto segue, altrimenti non perderci tempo.Se continui la lettura allora ti piace scriverere codice ;)
Permettimi un consiglio visto che ci sono passato prima di te.
Ho notato che ti piace rinominare i controlli delle useform; non che questo sia deleterio (lo faccio pure io….al boss invece non piace), ma ti consiglio degli accorgimenti.Quando cambi il nome ad un controllo, anteponi al nome una sigla; in questo modo quando ti trovi nel codice, sai a che tipo di controllo si riferisce.
Faccio riferimento a questo codice
Private Sub PRENOTA_AfterUpdate() If Me.PRENOTA = True Then Me.ASSEGNA.Enabled = False Me.DA.Enabled = False Me.A.Enabled = False Me.PZ.SetFocus End If If Me.PRENOTA = False Then Me.ASSEGNA.Enabled = True Me.DA.Enabled = True Me.A.Enabled = True End If End Sub
Per te che hai scritto il codice, è facile capire a cosa ti riferisci (ma solo perchè sono pochi controlli..immagina centinaia!!!…avresti difficoltà anche te)
ASSEGNA e PRENOTA sono checkbox
DA,A e PZ sono textboxPer me che leggo il codice devo andare a verificare di cosa si tratta
Io ad esempio faccio così
per le textbox uso:
TB_da
TB_a
TB_pzper le checkbox
CB_assegna
CB_prenotaPer le optionButton
CB_per le userform
frm_per le combo
CBox_per i frame
Frame_per le listbox
LB_e così via
C’è che dice: ma dopo non pui usare i cicli; chi l’ha detto? Basta usare dei piccoli accorgimenti.
Se ho delle textbox in cui inserisco l’anagrafica di un cliente, posso rinominarle così:
Tb_Anagrafica1
Tb_Anagrafica2
Tb_Anagrafica3
…
ecc…per tutte le tb che voglioSe invece non gli do un numero in sequenza, ma ho dei nomi come per l’esempio sopra:
TB_da
TB_a
TB_pz
posso inserirli in un array e ciclare tutti gli elementi dell’array stesso.
Come vedi puoi sbizzarrirti come desideri—————————–
Anche per le variabili stessa cosadim pippo as string
se tu leggi questa variabile all’interno del codice, non sai a cosa si riferiscedim sPippo as string
invece ti dice che è una stringavPippo è tipo Variant
nPippo è numerica (integer, long, double ecc…ma sai che è un valore numerico) ma nulla ti vieta di nominarlaintPippo
lngPippo
dblPippodPippo è tipo data
bPippo è tipo Boolean
ecc……..
Se prendi il “vizio” di usare questi trucchetti, vedrai che il tuo modo di programmare ti darà delle soddisfazioni ;)
Ciao
-
Per le optionButton
CB_ovviamente è
OB_ -
È giusto!! È giustissimo!
Ho capito perfettamente
Io sono un Neofita del VBA ma quello che mi piace del VBA (ma sicuramente lo stesso discorso vale per tutti gli altri linguaggi di programmazione) è che tutto ha una logica e tutto deve essere fatto con logica.
Terrò bene a mente questo consiglio
Grazie mille Sid!!
-
1 – una TextBox la quale vorrei contenesse la situazione di tutti i seriali inseriti per quell’apparato (come già stato fatto da Sal), ovvero la macro VediDopp1
Una possibile soluzione:
nella subRoutine Sub VediDopp1(Cod, dd)
all’interno dell’Else sostituisci l’istruzione
MsgBox "Seriali assegnati al codice " & Cod & " - " & dd & Chr(10) & Chr(10) & d, vbInformation, "Lista Seriali assegnati"
conWith Compilazione .InfoProdottoSeriali.Value = "Seriali assegnati al codice " & Cod & "-" & dd & Chr(10) & Chr(10) & d .Show End With
Inoltre devi cambiare la proprietà Multiline della textbox InfoProdottoSeriali da False a True; in questo modo se la stringa che restitisce la subroutine è troppo lunga, va a capo.
PS
Compilazione e InfoProdottoSeriali ti ricordi che sono? :P
-
Ciao Sid!
Grazie mille! Provo tutto immediatamente
“Compilazione” è il nome della Maschera (quindi in base al tuo consiglio avrei dovuto chiamarla frm_Compilazione)
“InfoProdottoSeriali” è la TextBox la quale deve far comparire il risultato della Macro VediDopp1
Grazie mille
Provo ad eseguire le modifiche che mi hai suggerito
-
PS Compilazione e InfoProdottoSeriali ti ricordi che sono? :P
Ops!!
Mi stavi prendendo in giro!!
Non avevo capito!!!
-
Una possibile soluzione: nella subRoutine Sub VediDopp1(Cod, dd) all’interno dell’Else sostituisci l’istruzione
MsgBox "Seriali assegnati al codice " & Cod & " - " & dd & Chr(10) & Chr(10) & d, vbInformation, "Lista Seriali assegnati"
conWith Compilazione .InfoProdottoSeriali.Value = "Seriali assegnati al codice " & Cod & "-" & dd & Chr(10) & Chr(10) & d .Show End With
Ho fatto ma la maschera si apre e nella TextBox non compare acluna info…
-
A me funziona
-
Forse ho capito; nell’evento activate del form non hai disabilitato l’istruzione
'Me.InfoProdottoSeriali = "QUESTA TEXT BOX VORREI CHE RIPORTASSE LE INFORMAZIONI DELLA MACRO VediDopp1"
mettici un apice davanti e si disabilita…..oppure eliminala
-
Vorrei chiederti una cosa.
Tu hai scritto:
<span style=”caret-color: #707070; color: #707070; font-family: Inconsolata, Consolas, Monaco, ‘Lucida Console’, monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%; background-color: #f9f9f9;”>With Compilazione .InfoProdottoSeriali.Value = “Seriali assegnati al codice ” & Cod & “-” & dd & Chr(10) & Chr(10) & d .Show End With</span>
Però io pensavo che bisognava mettere prima “.show” per aprire la maschera e dopo “.infoprodottoseriali.value ecc…”
Quindi un controllo di una maschera può essere “editato” anche se la maschera non è aperta?
-
Quindi un controllo di una maschera può essere “editato” anche se la maschera non è aperta?
Si, l’importante che l’oggetto esiste.
Puoi impostare il valore di un controllo sia da codice (sia che esso sia attivo oppure no), sia manualmente in fase di programmazione. -
Un consiglio per usare il tag QUOTE: seleziona la parte di testo che vuoi riportare, poi clicca su QUOTE
Con te c’è sempre da imparare 😂
-
A me funziona
Sid scusami, ma io non riesco a capire perchè sul tuo file funziona e sul mio no…
Ho aperto entrambi contemporaneamente paragonandoli senza trovare differenze ma nonostante tutto sul tuo file la TextBox funziona e sul mio no…
Cosa mi sfugge??
Grazie mille per il supporto!!
https://www.dropbox.com/s/7sloglgicfnqvpy/BYSAL.xlsm?dl=0
-
Questa risposta è stata modificata 1 anno, 11 mesi fa da
Kris_9951. Motivo: Link File
-
Questa risposta è stata modificata 1 anno, 11 mesi fa da
-
Scusa ma adesso non ho modo di stare al pc. Prima di stanotte non posso aiutarti.
Sid ma non preoccuparti
Quando vuoi!
Sei stato anche fin troppo gentile.
Grazie mille per il supporto!!
-
Scusa ma la colpa è mia Non ti ho detto che nell’evento SheetBeforeDoubleClick andava attivata l’istruzione della chiamata alla subRoutine Sub VediDopp1(Cod, dd) ed eliminare l’istruzione Compilazione.Show
Ma è pur vero che avrei potuto notarlo anch’io
Grazie mille!!
-
….ed a fianco una TextBox la quale può accettare solo numeri
Ciao
Ti mando un file di prova in cui trovi un paio di esempio di come inserire solo numeri nella textbox
https://app.box.com/s/z5plbfbh79pl181lynj73dhh6qdhtlzu
La userform la apri con Ctrl+aSe ti soddisfano, prova ad adattarlo al tuo file.
Ciao
-
Bellissimo!!!
Ed io che pensavo ad un qualcosa di più banale tipo:
If Not IsNumeric(Me.TextBox1) Then
Questo è il Top
Grazie mille!!
Credo che la parte più difficile ora sia quella che riguarda l’auto compilazione dei seriali in base ai valori inseriti nelle TextBox…
-
Alla textbox di “PRENOTA” posso mettere un numero ed una volta confermato con il pulsante OK la macro deve solo colorare di GIALLO un numero di celle pari al numero inserito, quindi se scrivo “10” deve colorare di giallo le prime 10 celle dei seriali di quel codice ma il contenuto delle celle rimane invariato. Sarebbe “figo” se potesse inserire anche una riga nuova nel caso viene inserito un numero superiore a 20 ed un altra ancora per numeri superiori a 40 e così via La TextBox ASSEGNA deve fare la stessa cosa ma con anche i numeri seriali disposti in modo progressivo
Quindi considerato che in un primo momento sono a conoscenza solo delle quantità che il cliente ha ordinato per ogni prodotto ed in un secondo momento mi metteranno a conoscenza anche dei seriali di quei prodotti ordinati io ho impostato il mio flusso di lavoro così:
nella fase 1 ovvero la fase in cui sono a conoscenza delle quantità ma non ancora dei seriali io evidenzio in giallo un numero di celle pari alla quantità ordinata dal cliente (questo per iniziare quantomeno ad organizzare il lavoro) e quando verrò a conoscenza dei seriali riempirò quelle stesse celle evidenziate in precedenza con i numeri seriali.
Per questi motivi ho pensato a questi due metodi di inserimento:
– PRENOTA
– ASSEGNA
Il “PRENOTA” colora di giallo le celle in base al numero inserito mentre “ASSEGNA” ci scrive i numeri “DA” “A”
In parole povere questo è quanto
-
Cominciamo con l’opzione PRENOTA
Facendo riferimento al file (corretto) del post #8629– Foglio Cliente1
– Doppioclick in C16 (codice A)
– Flag su PRENOTA
– Textbox (da ora in poi la chaimo TB) TOT PZ inserisco valore 15 (per ora inseriamo max valore 20)Ricapitolando:
1 – Devo colorare tutte le cella del range F16:T16 (15 celle)?
2 – I valori presenti restano? -
le celle che colori resteranno sempre colorate?
Perdonami Sid ma non ho capito precisamente la domanda e tempo di darti risposte sbagliate.
Le celle che coloro rimarranno colorate nel momento in cui il numero di celle colorare rimane lo stesso del numero di prodotti ordinati dal cliente.
Se il cliente a posteriori dovesse modificare l’ordine incrementando o diminuendo la quantità io (manualmente) colorerò o decolorerò le celle in conformità agli eventuali cambiamenti
Era questo che volevi sapere?
p.s. grazie mille per il supporto!
-
Le celle che coloro rimarranno colorate nel momento in cui il numero di celle colorare rimane lo stesso del numero di prodotti ordinati dal cliente.
Significa che una volta che avrai inserito i seriali nelle celle colorate, togli il colore?
-
No…
La cella rimane sempre colorata (in base al mio modo di operare)
quindi:
– cella colorata ma vuota = prodotto ordinato dal cliente con seriale ancora ignoto in quanto sono in attesa di saperlo da parte degli uffici competenti
– cella colorata con numero dentro = prodotto ordinato dal cliente con tanto di seriale già attribuito
Tutti gli eventuali cambiamenti verranno gestiti manualmente.
-
Ti mando il file aggiornato
https://app.box.com/s/9abkpz4222m8mq9y7xtyb56wqyj5q5yf
Ricorda che siamo work in progress, quindi è molto facile che non funzioni come vorresti, o che vengano restituiti errori nel codice.
Ho modificato i controlli della form (option button al posto delle checkbox), e li ho anche rinominati.
Per ora è attiva solo l’opzione PRENOTA; quando verificheremo che funziona alla perfezione, allora passiamo all’opzione ASSEGNAQuesto il funzionamento:
NB
faccio riferimento al foglio CLIENTE1, Tabella1 (codice A)1 – doppioclick come al solito sulle stringhe dei codici (appare il form); oltre al pulsante OK, ho
aggiunto anche il pulsante annulla per uscire dall’operazione. (La X rossa in alto a dx l’ho disabilitata)2 – flag su PRENOTA (appare il frame_prenota)
3 – inserisci il numero dei pezzi; nella TB_pz ho impostato la proprietà MaxLenght = 2; significa che puoi scrivere solo 2 cifre (max 99 pezzi); se ne vuoi di più modifica il valore a 3 o quello che vuoi. Se clicchi sul pulsante OK senza aver inserito nulla, avvisa ed esce.
4 – dopo aver cliccato su Ok, il form si chiuderà ed apparirà una inputbox in cui ti verrà chiesto di selezionare la cella di partenza del range da colorare.
Opzioni:
– nessuna cella colorata: selezionerai F16
– celle colorate da F16 a V16 (totale 17 celle, celle rimanenti della riga = 3); selezionerai W17; nel caso inserisci un valore maggiore di 3, verrà inserita una o più nuove righe nella tabella, e verranno colorate le celle rimanenti.
– ammettiamo che hai già colorato una riga completa (F16:Y16); quindi la cella di partenza deve essere la prima di una nuova riga che ancora non esiste; in questo caso per far capire al sistema quale deve essere la cella di partenza, devi selezionare la cella successiva all’ultima cella colorata della riga precedente; quindi Z16.
Ho provato a far selezionare la riga nera, ma è poco gestibile; putroppo meglio di così non ho saputo fare…. dovrai farci l’abitudine :(5 – Logicamente tutto questo è valido per ogni tabella di ogni foglio
Mi sembra di averti detto tutto; fai molti test ed annota nel dettaglio tutto quello che non funziona come vorresti.
Ciao. -
– celle colorate da F16 a V16 (totale 17 celle, celle rimanenti della riga = 3); selezionerai W17
Ovviamente è W16
Scusa ma ti ho mandato il file sbagliato; questo quello giusto:
https://app.box.com/s/9abkpz4222m8mq9y7xtyb56wqyj5q5yf -
Ciao Sid!
Per prima cosa complimenti! Per me quello che vedo fa parte di un livello ancora troppo lontano per me…
Direi che ci siamo, anzi possiamo anche farla più semplice, nel senso che possiamo anche togliere l’inputbox che chiede di scegliere da quale cella partire facendo anche in modo che parta sempre e comunque dalla prima cella disponibile ovvero quella della colonna F.
Quindi potrebbe anche partire sempre dalla colonna F fino ad arrivare a dove gli viene chiesto di arrivare.
Se è troppo fastidioso andare oltre 20 non è un problema in quanto posso comunque ripetere l’operazione anche per la riga successiva.
Dico questo perchè ho visto che crea anche una nuova riga nel caso in cui le celle da colorare vanno oltre la colonna Y però nella nuova riga che si crea i campi CODICE e MODELLO rimangono vuoti. In realta basterebbe solo riempire il campo CODICE in quanto il campo MODELLO ha un CERCA.VERT.
P.s. ho fatto due aggiunte stupide al codice.
La prima aggiunta è quella di far comparire la maschera anche sulle righe dove non è presente alcun seriale e la seconda sulla macro PRENOTA in quanto ho aggiunto Activesheet.Unprotect all’inizio perchè se il foglio è protetto la macro non funzionava.
Se vuoi puoi continuare su questo
https://www.dropbox.com/s/vije08qq1wwe3zb/BYSAL_V3.1.xlsm?dl=0
Grazie ancora per il supporto!!!!!
-
Dico questo perchè ho visto che crea anche una nuova riga nel caso in cui le celle da colorare vanno oltre la colonna Y però nella nuova riga che si crea i campi CODICE e MODELLO rimangono vuoti.
Risolto anche questo problema; ora inserisce anche codice e modello
Per quanto riguarda la protezione del foglio, devi aggiungere delle condizioni per bypassare la protezione, altrimenti non ti fa aggiungere nuove righe; oltre seleziona celle sbloccate devi flaggare anche inserisci colonne e modifica oggetti; vedi immagine
Rivisto anche le istruzione del metodo Protect, con l’aggiunta delle proprietà citate sopra.
Questo il file aggiornato
https://app.box.com/s/8ev25nrbroa7pgg920ymv70fx4ewhokpFa sapere, ciao
-
Ciao Sid!
Grazie mille!
Ho visto il file e funziona bene
Per quel che mi riguarda puoi anche disabilitare l’input box che chiede di selezionare la cella di partenza e far partire la “colorazione” sempre e comunque dalla colonna F.
Ho due domande:
1 – Perché la colorazione di celle superiori a 20 funziona correttamente solo sulla prima tabella di ogni foglio, mentre sulle altre tabelle no? Se provo a colorare 25 celle partendo sempre dalla colonna F ottengo risultato esatto solo nella prima tabella in alto ma nelle altre no perché vengono colorate più di 25 celle.
2 – Perchè bisogna flaggare “modifica oggetti” se all’inizio della Macro PRENOTA viene disabilitata la protezione del foglio?
Essendo disabilitata la protezione del foglio è comunque possibile creare nuove righe in tabella durante la Macro quindi non capisco…
Grazie mille per il supporto!!
-
1 – Perché la colorazione di celle superiori a 20 funziona correttamente solo sulla prima tabella di ogni foglio, mentre sulle altre tabelle no?………
Sto provando su tutte le tabelle e funziona
2 – Perchè bisogna flaggare “modifica oggetti” se all’inizio della Macro PRENOTA viene disabilitata la protezione del foglio?
Essendo disabilitata la protezione del foglio è comunque possibile creare nuove righe in tabella durante la Macro quindi non capisco…
Perchè la macro viene eseguita con il doppioclick, quindi prima di entrare nel codice dove c’è l’istruzione di sproteggere il foglio; con modifica oggetti mi permette di fare il doppioclick sulla cella (che è un oggetto che in questo caso mi fa eseguire una macro…praticamente è un pulsante)
-
Sto provando su tutte le tabelle e funziona
a me il risultato è questo a parità di operazione
https://www.dropbox.com/s/omfcszf8ofzmort/IMG_2492.JPG?dl=0
Per quanto riguarda la protezione del foglio ho capito
Grazie mille per le info!!
-
Per quel che mi riguarda puoi anche disabilitare l’input box che chiede di selezionare la cella di partenza e far partire la “colorazione” sempre e comunque dalla colonna F.
E se nella riga ci sono già celle colorate?
-
Nessun problema.
Tanto io userò l’inserimento con maschera quando il file sarà completamente bianco. Tutte le eventuali modifiche in corso le farò manualmente 👍
Per caso ti sei riuscito a spiegare perché nelle altre tabelle ottengo questo risultato a parità di operazione tra la tabella in alto e la tabella di sotto?
https://www.dropbox.com/s/omfcszf8ofzmort/IMG_2492.JPG?dl=0
-
Nessun problema.
OK; eliminato inputbox
Per caso ti sei riuscito a spiegare perché nelle altre tabelle ottengo questo risultato a parità di operazione tra la tabella in alto e la tabella di sotto?
Dovrei aver risolto anche questo; il file aggiornato:
https://app.box.com/s/m3phpc8iwfcjdkyjfdmderrtxi0om0sd
I soliti test -
Grande Sid!!!
Alla grande!!
Una domanda:
ma perché quando si creano delle righe nuove spuntano sulla colonna E di quelle righe nuove delle formule che io avevo cancellato?
Non è la prima volta che mi capita questo problema… Quelle formule c’erano una volta in quella colonna ma poi io le ho cancellate ma quando crei una nuova riga spuntano fuori di nuovo 😡
https://www.dropbox.com/s/l6viz10cjj6b2sc/IMG_2495.JPG?dl=0
Grazie grazie per il supporto!!!!!!
-
ma perché quando si creano delle righe nuove spuntano sulla colonna E di quelle righe nuove delle formule che io avevo cancellato?
Avevo notato anche io questo problema; sinceramente se le formule sono state cancellate, non capisco come possano essere reinserite; tanto più che mancano anche i riferimenti alle celle, visto che restituiscono un errore #RIF!…misteri di Excel.
Se vuoi possiamo fare in modo di cancellare la formula quando si crea la nuova riga; di più non saprei
-
Più che cancellare la formula, se possibile, creare nella nuova riga le stesse condizioni della riga precedente.
Mi spiego meglio: in alcune tabelle la cella della colonna E è bloccata e contiene una formula (quella che conta), mentre in altre tabelle la cella della colonna E è sbloccata e non contiene formule in quanto deve essere editabile.
Sarebbe buono se nel momento in cui venisse creata la nuova riga venissero in qualche modo “clonate” nelle celle della nuova riga le stesse caratteristiche delle celle della riga originaria in moto tale che dove originariamente c’è la formula la stessa viene copiata bloccando la cella e dove invece la formula non c’è non viene messo nulla e quindi sbloccando anche la cella…
È un casino? 😂😂😤
-
Però ho notato che se converto ogni tabella in intervallo e poi ricreo la tabella sempre sullo stesso intervallo di celle il problema non si ripresenta.
Siccome quelle tabelle sono frutto di diversi “copia e incolla” temo che abbiano conservato le caratteristiche originarie…
Volendo potrei anche fare così:
converto in intervallo tutte le tabelle e poi le ricreo nuovamente…
Tu che pensi?
-
Sarebbe buono se nel momento in cui venisse creata la nuova riga venissero in qualche modo “clonate” nelle celle della nuova riga le stesse caratteristiche delle celle della riga originaria….
La riga nuova viene inserita copiando dalla riga superiore; quindi copia laformula
Volendo potrei anche fare così:
converto in intervallo tutte le tabelle e poi le ricreo nuovamente…
Tu che pensi?Provaci…dovrebbe funzionare.
Lavora su una copia di backu…fa sapere, ciao. -
Ciao Sid!
Ho portato il contenuto del file usato come esempio nel mio file di lavoro e NONOSTANTE IL FOGLIO SIA PRATICAMENTE IDENTICO ricevo questo errore nel momento in cui provo a colorare le celle:
https://www.dropbox.com/s/w5kjqyg5pqhhxyz/Cattura.PNG?dl=0
C’è qualcosa che mi è sfuggito nel portare i codici da un file all’altro? Non capisco perchè sul file del tuo esempio tutto funziona bene e sul mio no eppure la tabella è identica…
Grazie per il supporto!
-
Questa risposta è stata modificata 1 anno, 11 mesi fa da
Kris_9951. Motivo: Link Foto
-
Questa risposta è stata modificata 1 anno, 11 mesi fa da
-
Ciao
Premesso che non ho modo ti testare il file; appena posso verifico.
Quella è la riga incriminata, ma non so quale messaggio di errore restituisce; e sinceramente non dovrebbe dare nessun messaggio di errore anche se l’errore viene generato realmente, in quanto 3 istruzioni prima c’è il comando “On Error Resume Next” che è fatto apposta per continuare l’ezecuzione della macro anche in caso di errore.
In ogni caso mandami l’immagine dell’errore. -
https://www.dropbox.com/s/w5kjqyg5pqhhxyz/Cattura.PNG?dl=0
Sul tuo file funziona bene ma una volta portati i codici sul mio mi restituisce questo errore eppure le tabelle sono identiche… 😭
-
Scusami… credevo che la parte evidenziata dal Debug fosse l’errore
Questo è quello che mi compare prima di cliccare su Debug:
https://www.dropbox.com/s/6dywss3x5w6ujrg/Cattura2.PNG?dl=0
Grazie mille per il supporto!!
-
Ok
Adesso riprova ad eseguire la macro, poi quando appare il messaggio di errore clicca su debug.
Si evidenzierà la riga come sempre.Ora clicca lentamente per più volte su F8; vedrai che la riga gialla si spsterà sull’istruzione successiva; quello che vedi è vba che legge il codice.
Quando l’istruzione è evidenziata significa che vba deve ancora leggerla; la leggerà solo dopo quando avrai premuto F8.
Prosegui lentamente fino a che non ti apparirà un’altra volta il messaggio di errore.
Quando ti apparirà l’errore significa che l’istruzione che l’ha causato è stata l’ultima evidenziata
Non è difficile.
Prova con calma.Sto provando ad aiutarti ma sto col cellulare.
Abbi pazienza -
Ho fatto.
Ho premuto più volte F8 la continua sempre ad evidenziarsi quella riga:
https://www.dropbox.com/s/ebzez2h70lj5ll6/2019-05-10%2022-20-54.mp4?dl=0
Come puoi vedere, in fin dei conti la struttura del mio file è identica a quella del file del tuo esempio…
P.s. Devo dirti un particolare.
Per vedere quale riga veniva evidenziata ho commentato la riga Call PRENOTA copiando poi sotto tutta la Macro PRENOTA perchè inizialmente mi evidenziava solo Call PRENOTA quindi non capivo quale parte di PRENOTA dava problemi…
Grazie mille per il supporto!!!
-
Si ho visto.
In ogni caso non deve scattare l’errore, perchè prima viene letta l’istruzione
On Error Resume Next
che è fatta apposta per continuare la lettura del codice.
Qualcosa non va nel tuo file, come se ci fosse un bug.
L’unica cosa è che dovrei vedere il file.
Se vuoi puoi mandarmelo in privato; ti assicuro la massima discrezione.
-
-
AutorePost
- Devi essere connesso per rispondere a questo topic.