› Excel e gli applicativi Microsoft Office › Help per file tutorial online
-
AutoreArticoli
-
in excel e VBa tutto quello che srivi dentro una textbox viene riconosciuto come stringa,nel tuo caso non puoi fare il prodotto di due stringhe, quindi devi trasformare le stringhe in numeri anteponendo la parolina magica "Val" al valore della tua texbox.
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Vorrei precisare che Val() preleva il "valore" di un testo fermandosi al primo carattere non numerico. Quindi Val("123") restituisce l'interno 123, e anche Val("123a56") restituisce l'intero 123, mentre Val("a123") restituisce zero. A essere pinoli i caratteri "d" ed "e" sono speciali ma sorvoliamo 🙂
Consiglierei il cast con una delle funzioni di conversione a intero, CInt, CLng, CSng o CDbl.A essere pinoli i caratteri "d" ed "e" sono speciali ma sorvoliamo
??
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Bè "d" identifica il tipo double ed "e" è per l'esponente 🙂
"1e6" = "1d6" = 1.000.000
in excel e VBa tutto quello che srivi dentro una textbox viene riconosciuto come stringa,nel tuo caso non puoi fare il prodotto di due stringhe, quindi devi trasformare le stringhe in numeri anteponendo la parolina magica "Val" al valore della tua texbox.
Se io compilo tutti i campi, funziona tutto regolarmente. Fa la moltiplicazione del rate con la qty. E' solo nel caso in cui uno dei campi non e' compilato che dopo il messaggio di errore programmato va in crash la userform.
Buongiorno,
riuppo questo post perche' non riesco a venirne a capo. In pratica il file calcola bene tutto fino alla fine di Aprile, dal primo Maggio in poi mi fa vedere gli articoli acquistati e venduti, nel riquadro ma non mi calcola tutti gli altri valori di entrate uscite. Mi sono sbattuto fino all'inizio delle ferie poi mi sono fermato ed oggi richiedo il vostro aiuto. Allego file.
Grazie
Allegati:
You must be logged in to view attached files.Scusa ma non ho capito. Non so utilizzare bene il file allegato e studiare il codice per capire cosa fa cosa, in questi giorni non ci riesco. Andare a tentoni mi sembra una perdita di tempo.
Guidami per favore a riprodurre il problema, dì pure cosa ottieni (di sbagliato) e che cosa ti saresti aspettato.
Intanto grazie per l’interesse.Una volta avviata la userform si selezionano i vari parametri: articolo, tipo di transazione ( acquisto oppure vendita ) e la quantità . Con il tasto “conferma” inserisce il prodotto nel box sottostante. In contemporanea va ad aggiornare tutti i valori nei riquadri più grandi, in alto. Questo grazie al calcolo inserito nella scgeda Report. Tutto questo lo fa fino al 30 Aprile. Dall’1 Maggio in poi non registra più le scelte. Aggiorna le quantità rimanenti, nel box a destra, ma non calcola più i valori dei riquadri già detti. Spero di essermi spirgato. Grazie ancora.
Eppure non riscontro problemi. Ho azzerato anche gli elenchi e sono ripartito da voci pulite. Ho venduto e acquistato sia prima che dopo la data fatidica ma non trovo errori.
Riesci a fare una descrizione passo per passo di quello che fai e che non va bene, descrivendo anche cosa vorresti che facesse?
(trovo scomodo che il form si apra a pieno schermo, ho tolto la massimizzazione nel file di lavoro. Inoltre il titolo del form dovrebbe essere "Inventory Management System", manca la "e")
Strano che da te funzioni. Io l’ho provato su 2 pc differenti e mi fa lo stesso. Ho provato ad impostare un formato data differente ma non cambia molto. Se però vado sul file excel nella scheda sale/purchase e copio ed incollo quelle che sono le date funzionanti( nel mio caso fino a fine Aprile ) nelle celle con date dal 1 Maggio in poi funziona. Boh…
Strano che da te funzioni
E' evidente che io *credo* che mi funzioni perché non ho davvero capito cosa non va, cosa fare per ottenere l'errore, e cosa dovrei ottenere. Potrebbe essere soltanto un problema di formattazione delle date. Ma siccome non riesco a riprodurre lo scenario "bacato" e non so cosa invece devo avere, è meglio se sto fermo 🙂
Hai ragione. Forse sarebbe meglio fare degli screenshot. Magari domani li faccio e cerco di farti capire cosa non va. Grazie per adesso. Sei un grande già per la disponibilità.🙏
Buongiorno, allego file di prova con un solo oggetto ( purtroppo non ricordavo di aver programmato il controllo per oggetti omonimi ) e tre files ( feb2023 - Maggio2023 - Da Feb a Maggio 2023 ) con spiegazione di quanto accade. Il quarto file lo allego a parte.
Spero di essere stato chiaro nello spiegare cosa accade.
Grazie
Allegati:
You must be logged in to view attached files.Quarto file.
Allegati:
You must be logged in to view attached files.Sto spulciando il codice --non è semplice districarsi anche se è comprensibile 🙂
Ho il sospetto che il problema non stia nel codice, ma sia nelle formule del foglio Report (C4, C5 e C6) che sono quelle che determinano (per effetto dell'istruzione Calculate in show_numbers) l'aggiornamento delle labels che corrispondo ad acquisti, vendite e guadagni.
Provo un po' a ricostruire ma temo che ci vorrà l'aiuto di qualche Mago Formulaio 🙂
Intanto ti ringrazio grandemente per la disponibilità. Mi chiedo però come mai funziona tutto bene fino al 30 Aprile. Dopodiché Non ne vuole sapere.
E' per questo che ci vorrebbe un esperto di formule. Io comunque provo a venirne fuori, magari ce la faccio 😀
Allora posso dirti che il problema è che in foglio Sale_purchase le date di maggio non sono scritte correttamente (sono in formato testo) e quindi il foglio report non le elabora correttamente. Prova a cancellare tutto dalle due celle dove trovi 1-mag-2023 e a riscriverle come 1/5/2023, le formule in foglio report adesso funzionano correttamente.
Quindi non sono le formule il problema, ma un punto nel codice che inserisce male questo dato. Mo' ci torno a guardare... ma vinceremo noi 🙂
L'eventuale Vittoria spetterà a te.👍 Io cmq avevo già provvedito a cambiare formato, da testo a data, nella colonna data. Ma sicuramente si dovrà intervenire nel codice. Grazie tante.
Una prima modifica che farei è questa al posto della precedente:
dsh.Range("H:H").NumberFormatLocal = "g-mmm-aaaa"(siamo nella routine Sub Sale_Purchase_Data)
Inoltre forzerei al tipo Data quando premi Conferma o Correggi (command buttons 6 e 7):
sh.Range("H" & lr + 1).Value = CDate(Me.txt_date.Value) 'in commanbutton6_click e in command_button7_clickSi può provare, rimane però sempre il perché fino a fine Aprile tutto funziona bene.
Ho fatto una prova cancellando i valori precedenti di maggio da Sale_Purchase e reinserendoli (non so se è corretto fare così). Il form funziona bene e inserisce i valori corretti, come date, giustamente. Pertanto le formule nel foglio report funzionano a dovere e i campi del form si compilano correttamente. Probabilmente qualcosa sbaglio io perché ottengo un magazzino di -70 ... lascio a te le prove successive (fai al codice le modifiche che ho indicato, sia in Sub Sale_Purchase_Data che nelle Sub che intercettano i click dei due commandbuttons 6 e 7).
-
AutoreArticoli
