scusate,
ma perchè vi complicate la vita? quando esiste la funzione SPLIT!!!!
vi faccio un'esempio di utilizzo
Dim a As String, c As String
Dim b() As String
a = "primo,secondo,terzo"
b = Split(a, ",")
le tre variabili risultanti saranno:
a = "primo,secondo,terzo"
b= array con:
b(0)="primo"
b(1)="secondo"
b(2)="terzo"
se vi servisse vi ho messo anche la funzione inversa che è JOIN che unisce gli elementi di un'array di stringhe, dividendo gli elementi con la stringa specificata come secondo argomento
c = Join(b, ";")
c="primo;secondo;terzo"
quindi, se il tuo scopo finale è quello di prendere solo quello che viene PRIMA del carattere che indica la divisione della stringa, basterà fare uno split del testo, specificando il carattere, e poi utilizzare SOLTANTO il primo elemento dell'array restituito dalla funzione.
se poi per attilio il problema è quello dell'arrotondamento che non ti soddisfa, quale modo migliore di:
moltiplicare il numero che hai (esempio 123000.43223) per 10 elevato al numero di decimali che vuoi far rimanere (esempio 1 => quindi 10^1=10)
quindi 123000.43223x10 = 1230004.3223, trasformarlo in un numero intero con la funzione cint(numero) quindi diventerebbe 1230004 e ridividerlo infine per la stessa cifra fatta all'inizio (10)
andiamo quindi ad avere il valore 123000.4 voluto come numero di decimali.
se vogliamo tradurre il tutto in una funzione... eccola:
se per esempio usiamo la funzione così:
MsgBox(Arrotonda(19252.23425, 1))
il nostro risultato sarà: 19252.2