Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

vba excel formato textbox

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vba excel formato textbox

Postdi macio66 » 06/04/19 11:47

buongiorno
ho un problema con due textbox e non riesco a venirne a capo.
In pratica devo assegnare a due textbox un valore massimo e uno minimo.
per esempio:
txtDurezza_nominalei.Value =85,55
txtErrorei.Value=1,0

txtErroreimax.Value = txtDurezza_nominalei.Value + txtErrorei.Value valore ottenuto 85,551,0 invece di 86,55
txtErroreimin.Value = txtDurezza_nominalei.Value - txtErrorei.Value valore ottenuto 84,55

Anche invertendo le formule nelle due textbox, il risultato non cambia. Infatti quando faccio la sottrazione il valore che ottengo e esatto 84,55 , con la somma invece di ottenere 86,55 mi compare sempre 85,551,0
Qualcuno mi sa spiegare il motivo? ma soprattutto come posso risolverlo?
macio66
Utente Senior
 
Post: 118
Iscritto il: 13/06/13 14:59

Sponsor
 

Re: vba excel formato textbox

Postdi zsadist » 06/04/19 12:15

Ciao
Scusa, sono con il cellulare, quindi magari ho capito male il problema..
Sicuro che il dato viene riportato come numero piuttosto di testo?
Hai provato a "forzare" con cdbl?
Non so, senza vedere il codice non riesco a pensare ad altro
Adattati! L'incapacità di cambiare direzione porta alla sconfitta
zsadist
Utente Junior
 
Post: 76
Iscritto il: 04/04/19 13:48

Re: vba excel formato textbox

Postdi macio66 » 06/04/19 12:40

Ciao zsadist
In effetti non mi rendevo conto che il VBA vede " txtErroreimax.Text =txtDurezza_nominalei.Text + txtErrorei.Text" , come se fosse la funzione concatena.
Invece con CDbl ora funziona.
txtErroreimax.Text = CDbl(txtDurezza_nominalei.Text) + CDbl(txtErrorei.Text)
txtErroreimin.Value = CDbl(txtDurezza_nominalei.Text) - CDbl(txtErrorei.Text)
Grazie per il tuo inreressamento.
Buona giornata
macio66
Utente Senior
 
Post: 118
Iscritto il: 13/06/13 14:59

Re: vba excel formato textbox

Postdi zsadist » 06/04/19 12:58

Di nulla :)
Buona giornata a te
Adattati! L'incapacità di cambiare direzione porta alla sconfitta
zsadist
Utente Junior
 
Post: 76
Iscritto il: 04/04/19 13:48

Re: vba excel formato textbox

Postdi klingklang » 08/04/19 14:41

Ciao. Un consiglio: mai, mai e poi MAI usare la proprietà .Text quando si devono fare dei calcoli. Se avessi usato .Value (il default, che può quindi anche essere omesso) non avresti avuto problemi. Comunque hai fatto bene a usare la conversione in Double per essere ancora più sicuro (ma non usare .Text! Link)
Enrico
Windows 7 + Office 2016 64bit / Windows 10 + Office 365 32/64bit
Avatar utente
klingklang
Utente Junior
 
Post: 97
Iscritto il: 23/11/18 15:01
Località: San Giovanni in Persiceto

Re: vba excel formato textbox

Postdi Anthony47 » 08/04/19 19:19

Hummm...
L'utente faceva riferimento a due TextBox, mentre l'articolo parla di Celle, dove effettivamente Text e' molto piu' lenta di Value

Per quello che ho potuto misurare, su un Textbox l'uso di Value o di Text non modifica i tempi di esecuzione; sia per controlli posizionati in un foglio sia per quelli posizionati su una userform.
Ne' l'uso di Value avrebbe modificato l'esito della "somma" delle due stringhe (perche' da un textbox sia Value che Text restituiscono un tipo Stringa), quindi il "+" avrebbe prodotto sempre il Concatenamento delle stringhe.

Perche' il "+" possa essere interpretato come operatore Aritmetico almeno uno dei termini deve essere un tipo Numerico.
L'uso di CDbl ha risolto alla radice il problema.

Il riferimento vba: https://docs.microsoft.com/it-it/office ... s-operator

Ciao!
Avatar utente
Anthony47
Moderatore
 
Post: 16608
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "vba excel formato textbox":


Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti