Mas opciones de condicion en if then

Estoy trabajando en un proyecto en el cual busco, no eliminar los duplicados, sino mas bien transformarlos mediante varias técnicas, quiero hacerlo íntegramente en código vba, sin necesidad de recurrir a la grabadora de macro, pero algo no me funciona, esto es lo que tengo hasta ahora:

Sub TRATAMIENTO_DUPLICADOS()
Dim RANGO As Range
Dim CELDA As Range
Set RANGO = Range("C32:V32")

For Each CELDA In RANGO
If WorksheetFunction.CountIf(RANGO, CELDA) > 1 Then
CELDA.Value = Right(CELDA, 1) & Left(CELDA, 1)
'solo funciona hasta aquí.
'y me gustaría poder agregar estas otras condiciones.

If CELDA.Value = Right(CELDA, 1) & Left(CELDA, 1) > 80 Then
CELDA.Value = Right(CELDA, 1) * Left(CELDA, 1)

If CELDA.Value = Right(CELDA, 1) * Left(CELDA, 1) = 0 Then
CELDA.Value = Right(CELDA, 1) + Left(CELDA, 1)

End If
End If
End If
Next CELDA
End Sub

Por alguna razon, el codigo no evalúa las otras condiciones y honestamente no se como hacerlo funcionar,

Si pueden darme una mano, les estoy desde ya infinitamente agradecido.

1 Respuesta

Respuesta
2

Lo que estás haciendo luego de contar si hay celdas en el rango es reemplazar el valor de la celda por una combinación:

CELDA.Value = Right(CELDA, 1) & Left(CELDA, 1)

Luego parece que quisieras evaluar si ese nuevo contenido es > 80... y modificar nuevamente la celda.

Si esto es correcto no hagas una doble igualdad, sino deja la instrucción así:

If CELDA.Value >= 80 Then

Y lo mismo en la 3er condición.

Si esto resolvió tu problema no olvides valorar la respuesta (opciones: excelente o buena). Sino comenta aclarando el contenido de las celdas del rango.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas