Nella variabile PIPPO, PLUTO etc va inserito solo 10 (non 10/100) dovrai mettere i numeri interi nelle variabili PIPPO, PLUTO, MINNI e i caratteri delle variabili nel Vb devono essere in maiuscolo (mentre nel foglio possono essere alti e bassi)?
In questa maniera otterrai il calcolo coretto.
Se vuoi, puoi anche impostare così la variabile
- Codice: Seleziona tutto
PIPPO = 10 / 100
però dovrai cambiare la riga cosice in questa maniera
- Codice: Seleziona tutto
Cells(I, Col).Value = Range("N" & I).Value * (1 + PIPPO)
Invece, per la prima riga devi solo mettere 1 To Rp al posto del 2 To Rp del For - next
comunque invio di nuovo la macro nella quale ho variato a 10 la percentuale da applicare a PIPPO
- Codice: Seleziona tutto
Sub NuovoListino()
Dim PIPPO, PLUTO, MINNI, ALTRO As Long
Dim RP As Integer
RP = Range("C" & Rows.Count).End(xlUp).Row
PIPPO = 10
PLUTO = 5
MINNI = 3
ALTR0 = 0
Col = 15 '<<< corrisponde alla colonna "O"
For I = 1 To RP
If UCase(Range("C" & I).Value) = "PIPPO" Then
Cells(I, Col).Value = Range("N" & I).Value * (1 + (PIPPO / 100))
GoTo salta
End If
If UCase(Range("C" & I).Value) = "PLUTO" Then
Cells(I, Col).Value = Range("N" & I).Value * (1 + (PLUTO / 100))
GoTo salta
End If
If UCase(Range("C" & I).Value) = "MINNI" Then
Cells(I, Col).Value = Range("N" & I).Value * (1 + (MINNI / 100))
GoTo salta
End If
Cells(I, Col).Value = Range("N" & I).Value * (1 + (ALTR0 / 100))
salta:
Next I
End Sub
ho tolto anche un for next di troppo (era rimasto da una prova precedente) non comprometteva nulla ma triplicava il tempo di esecuzione della macro.
ALTRO = 0 significa che tutti i prodotti non corrispondenti alle variabili sopra menzionate non subiranno aumento
togliendo o commentando la riga
- Codice: Seleziona tutto
Cells(I, Col).Value = Range("N" & I).Value * (1 + (ALTR0 / 100))
eviti di trascrivere il valore del listino base
Copia l'intero codice,
metti sulla colonna C la dicitura Pippo e in N (riga corrispondente) il valore 246,26 otterrai in O 270,886
Chiaramente se non c'è Pippo ma Minni avrai un valore più basso
Fai sapere
Ciao