Funzione per estrapolare l'ultima cifra di un numero in VBA

di ytreka il
14 risposte

Salve a tutti, 

Ho da poco iniziato a programmare con VBA, questione di un tre giorni, qualcuno sa dirmi la funzione che serve ad estrapolare l'ultima cifra di un numero?

Ho trovato istruzioni solo per estrapolare caratteri da stringhe, ma per quanto riguarda valori numerici, non riesco a trovare il metodo. 

Faccio un esempio: ho il numero 1884, a me interessa solo che il programma analizzi il numero 4. 

Grazie anticipatamente

14 Risposte

  • Devi ottenere il restresto della divisione per 10 e lo fai con l'operatore Mod

    c = 1884 Mod 10

    Ma parliamo veramente di Visual Basic 6? Nota bene: versione 6?

  • Grazie mille!

    Versione 7.1

  • Ma quindi utilizzi VBA in un prodotto Office (Excel, Access, Word???)

    II VB 6 non c'entra niente 

    Bisognerebbe sapere con precisione cosa si sta usando per fare le domande in modo opportuno nella sezione corretta. Mi sembra il minimo per partecipare ad un forum

  • Sì esatto. Lo uso per popolare i grafici di Excel in maniera automatica. Non sapevo ci fossero differenze.

  • Esatto… cosa?

  • C'è scritto come sottotitolo anche VBA. E' così importante? Mamma che pedanteria.

  • Questa però è la sezione VB6, devi precisare che usi VBA!

    Il VBA è molto simile al VB6 ma non identico, per questo ci sono le sezioni. Se usi Excel meglio usare la sezione Excel e così via…

    Ma tu non hai studiato informatica?

  • Allora modifico il messaggio iniziale. Sì, ho studiato qualcosa, ma di Visual Basic o VBA mai niente. Lo uso per non perdere 10 ore di tempo ad incollare i dati nelle celle di Excel manualmente. A dirla tutta, credevo che VBA fosse un acronimo di Visual Basic perchè quando lo apro da Excel c'è scritto “Visual Basic”. Quindi, davvero, chiedo scusa, ma non potevo saperlo. 

  • Comunque anche senza usare l'operatore Mod, puoi sempre convertire il numero in stringa e usare le funzioni stringa

  • 14/04/2024 - ytreka ha scritto:


    ma di Visual Basic o VBA mai niente

    Intendo dire che anche in altri linguaggi esiste l'operatore o la funzione modulo ed è un concetto noto in informatica in generale.

  • Ero a conoscenza della funzione che restituisce il resto di una divisione in altri linguaggi come Java e C#. Ma il problema risale alla base: non sapevo che dividendo qualsiasi numero per 10, il resto è sempre uguale all'ultima cifra. 

  • Ah, non te la prendere, nulla di personale ma eessendo concetti di aritmetica di 3 media,pensavo, sbagliando, che sapessi di cosa parlavamo. Ora capisco l'l'equivoco

  • Nessun problema. Meglio averla fatta adesso la figura barbina, piuttosto che più in là, in un altro contesto. 

  • Ciao,

    dipende dall'uso che ne fai … quindi per esempio :

    Dim firstRightNumber As Integer
    firstRightNumber = Val(Right(CStr(YourNumeber), 1))
    
    Oppure 
    
    Dim firstRightNumber As String
    firstRightNumber = Right(CStr(YourNumeber), 1)

    Nel primo caso avrai come risultato un numero intero unitario
    e nel secondo caso una stringa che conterrà un carattere pari all'ultimo numero della tua cifra da trattare

    ;-) 


    P.S:

    però hai il thread nella sezione sbagliata ;-))

Devi accedere o registrarti per scrivere nel forum
14 risposte