Incrementare numero



  • Incrementare numero
    di garziagiuseppe data: 04/04/2014 16:27:24

    Rieccomi con un nuovo dilemma.
    Come posso con una macro incrementare di 1 una srringa formata da testo come nell'esempio sotto?

    da TBM-G-03-029 devo aggiungere +1 alla cifra finale e ottenere -> TBM-G-03-030



  • di lepat (utente non iscritto) data: 04/04/2014 17:12:44

    così
     
    Sub a()
    s = "TBM-G-03-029"
    p = InStrRev(s, "-")
    s1 = Left(s, p)
    g = Right(s, Len(s) - p)
    n = Val(Right(s, Len(s) - p)) + 1
    s2 = Format(n, "000")
    s3 = s1 & s2
    End Sub



  • di garziagiuseppe data: 04/04/2014 17:59:50

    Grazie per la risposta... ma mi sfugge qualche cosa, o forse non ho specificato che l'azione va eseguita non sul foglio di lavoro ma all'interno di un form popolato da TextBox. Dove lo ottengo il risultato finale? Credevo che eseguendo la macro la textBox3 mi venisse aggiornata con il nuovo risultato.

    La macro l'ho modificata applicando sulla variabile "s" il valore della TextBox3 che è appunto "TBM-G-03-029". Ovviamente questa stringa cambia a dipendenza di quale articolo seleziono incrementandone il codice per poter creare un nuovo record.
     
    Private Sub incrementacodice_Click()
    Dim s
    Dim p
    Dim s1
    Dim g
    Dim s2
    Dim s3
    Dim n
    s = TextBox3
    p = InStrRev(s, "-")
    s1 = Left(s, p)
    g = Right(s, Len(s) - p)
    n = Val(Right(s, Len(s) - p)) + 1
    s2 = Format(n, "000")
    s3 = s1 & s2
    TextBox3 = s
    End Sub



  • di garziagiuseppe data: 04/04/2014 18:01:57

    Ops.... ho capito! la TextBox3 deve prelevare il valore dalla variabile "s3".

    Mi scuso per la stupidità.

    Tutto OK, funziona.

    Grazie