Condividi:        

vba2003: calcolare da differenza per arrivare ad un intero.

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

vba2003: calcolare da differenza per arrivare ad un intero.

Postdi karug64 » 08/12/11 17:24

Salve a tutti.
Se con l'istruzione (classica) :
titdos2 = ActiveWorkbook.Sheets("Dos").Cells(Rows.Count, "B").End(xlUp).Row
ottengo quante righe ho nel foglio Dos, come posso fare a sapere quante righe mi mancano per raggiungere la decina successiva ?

Per esempio:
titdos2 = 80 ---> devo arere 0
titdos2 = 78 ---> devo arere 2
titdos2 = 14 ---> devo arere 6

ecc.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba2003: calcolare da differenza per arrivare ad un inte

Postdi karug64 » 08/12/11 18:00

Salve . Mi rispondo da solo. Questa e' la soluzione che ho pensato:

If Val(titdos2) < 10 Then riempi = 10 - titdos2
If Val(titdos2) > 10 Then
decine = Val(Left(Str(titdos2), 2))
t_decsucc = decine + 1
decsucc = Str(Trim(t_decsucc)) + "0"
riempi = Val(decsucc) - titdos2
End If

certo, non sara' il massimo, ma ... funziona se siamo sotto i 100.

Magari se qualcuno trova un algoritmo piu' universale ....
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba2003: calcolare da differenza per arrivare ad un inte

Postdi alby60 » 08/12/11 18:01

Ciao, prova con
Codice: Seleziona tutto
=ARROTONDA.ECCESSO(A2;10)-A2
in A2 hai il valore sul quale calcolare il numero che hai chiesto

Io ti ho risposto proponendoti una formula però non avevo letto che volevi del codice.
Ecco la soluzione con il codice
Codice: Seleziona tutto
Risultato = Application.Ceiling([A2], 10) - [A2]
applicata al tuo esempio diventa
Codice: Seleziona tutto
decsucc = Application.Ceiling(titdos2, 10) - titdos2
alby60
Utente Junior
 
Post: 76
Iscritto il: 18/11/10 01:04

Re: vba2003: calcolare da differenza per arrivare ad un inte

Postdi Flash30005 » 08/12/11 20:27

Leggi quanto scritto da Alby60

Altra soluzione potrebbe essere questa
Codice: Seleziona tutto
Sub Arrotonda()
ValA = Val(titdos2) Mod 10
If ValA <> 0 Then ValA = 10 - ValA
'<<<< fai ciò che devi fare
MsgBox ValA
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba2003: calcolare da differenza per arrivare ad un inte

Postdi karug64 » 08/12/11 20:49

Grazie ad entrambi.

.... ovviamente era molto piu' semplice di quanto immaginassi ....
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "vba2003: calcolare da differenza per arrivare ad un intero.":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti