| | Post: 341 | Registrato il: 13/12/2015
| Città: MILANO | Età: 58 | Utente Senior | 2010 | | OFFLINE | |
|
13/04/2021 10:06 | |
Buongiorno a tutti.
Se nella colonna H avessi un valore numerico usando:
=SE(D5<>"";H4+1;"attesa dati")
In pratica se in H4 il numero di preventivo fosse: 112 -> in H5 otterrei correttamente -> 113.
Ma il mio numero di preventivo è 21/112/AT e quindi il risultato atteso dovrebbe essere : 21/113/AT
Grazie per l'aiuto. BG66
Excel 2010 |
|
| | Post: 3.138 | Registrato il: 06/04/2013
| Utente Master | 2010 | | OFFLINE |
|
13/04/2021 10:38 | |
ciao Gene
se il progressivo è sempre di tre cifre, puoi estrarre con stringa.estra(progPrecedente,4,3) il numero, aggiungi 1 e con un sosituisci lo reinserisci nel progressivo:
in pratica in S5:=SOSTITUISCI(S4;STRINGA.ESTRAI(S4;4;3);STRINGA.ESTRAI(S4;4;3)+1)
saluti
(si può far meglio)
Domenico
Win 10 - Excel 2016 |
| | Post: 341 | Registrato il: 13/12/2015
| Città: MILANO | Età: 58 | Utente Senior | 2010 | | OFFLINE | |
|
13/04/2021 11:45 | |
Ciao Domenico,
farò in modo che sia sempre di tre cifre 😉!!
=SE(O6<>"";SOSTITUISCI(S5;STRINGA.ESTRAI(S5;4;3);STRINGA.ESTRAI(S5;4;3)+1);"attesa dati")
Grazie e alla prossima.
STAY SAFE
[Modificato da BG66 13/04/2021 11:47] BG66
Excel 2010 |
| | Post: 3.139 | Registrato il: 06/04/2013
| Utente Master | 2010 | | OFFLINE |
|
13/04/2021 12:55 | |
occhio...che se in S4 hai 21/001/AT, ti viene fuori 21/2/AT, per modificare devi usare TESTO
sempre in S5: =SE(O5<>"";SOSTITUISCI(S4;STRINGA.ESTRAI(S4;4;3);TESTO(STRINGA.ESTRAI(S4;4;3)+1;"000"));"attesa dati")
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 905 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
13/04/2021 13:01 | |
Ciao a tutti
@BG66
Gene, se vuoi che non tenga conto delle 3 cifre del numero ma funzioni anche con 1, 2 o 4 e più, metti questa macro nel modulo del foglio interessato
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("o:o")) Is Nothing Then
If Target = "" Then
Exit Sub
ElseIf Cells(Target.Row, "S") = "attesa dati" Then
Cells(Target.Row - 1, "S").Select
num = Split(Cells(Target.Row - 1, "S"), "/")
num(1) = Val(num(1)) + 1
Cells(Target.Row, "S") = num(0) & "/" & num(1) & "/" & num(2)
Cells(Target.Row + 1, "S") = "attesa dati"
End If
End If
End Sub
Provvedi tu a "professionalizzare" la macro inserendo Option Explicit e la dichiarazione delle variabili.
Ciao, Mario
|
|
|