Buonasera
Come già sottolineato in un precedente post:
"purtroppo non sono affatto esperto nella compilazione dei codici.
Ho fatto un patchwork di vari codici nei limiti delle mie conoscenze...limiti evidentemente disarmanti per voi professionisti.
Ho avuto la malsana idea di recuperare un paio di lavori per definire quanto segue, ma purtroppo nonostante varie prove non riesco a raggiungere il mio obiettivo.
Mi scuso in anticipo per gli errori che certamente riscontrerete e per la compilazione rude ed imprecisa."
Sulla base di questa macro, vorrei assegnare un valore all'ultima cella della riga attiva
Sub ImpostaSfondoRigaTabella(PRESOorPERSOorSBY As String)
Dim vColor As Long
Dim oLO As ListObject
Dim iRiga As Long
Select Case PRESOorPERSOorSBY
Case "PRESO"
vColor = 5296274
Case "PERSO"
vColor = 255
Case "SBY"
vColor = xlNone
End Select
Set oLO = ActiveSheet.ListObjects(1)
With oLO
iRiga = ActiveCell.Row - .Range.Row
.ListRows(iRiga).Range.Interior.Color = vColor
End With
End Sub
quindi ho aggiunto (in rosso):
Sub ImpostaSfondoRigaTabella(PRESOorPERSOorSBY As String)
Dim vColor As Long
Dim oLO As ListObject
Dim iRiga As Long
Select Case PRESOorPERSOorSBY
Case "PRESO"
vColor = 5296274
ActiveCell.End(xlToRight) = "1"
Case "PERSO"
vColor = 255
ActiveCell.End(xlToRight) = "2"
Case "SBY"
vColor = xlNone
ActiveCell.End(xlToRight) = "0"
End Select
Set oLO = ActiveSheet.ListObjects(1)
With oLO
iRiga = ActiveCell.Row - .Range.Row
.ListRows(iRiga).Range.Interior.Color = vColor
End With
End Sub
Ma purtroppo non lavora come desiderato, in quanto non sovrascrive l'ultima cella della tabella (colonna Colore), bensì la successiva piena nella riga attiva:

quindi nelle prime due righe va male perché era già scritto qualcosa, nelle successive va bene in quanto i campi sono liberi fino alla cella desiderata.
Riuscireste a suggerirmi per favore un comando opportuno?
Vi ringrazio anticipatamente