Rango de celdas usando una macro

Buenos Tardes jcgonzalez31, quiero pedirte un gran favor, acerca de una macro que estoy haciendo en excel, pero la verdad humildemente te digo que no soy un experto, y tengo problemas para obtener el resultado deseado, bueno aquí les planteo mi problema.
Quiero validar la celda a1, si se cumple la condición que me despliegue un resultado en la celda b1 y en la celda c1 ( esto ya lo hace), pero solo funciona en la celda A1, y yo la necesitopa desde la A1 hasta la A1000
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1").Value = "SUB1" Then
Sheets("Hoja1").Range("b1").Value = "DESC1"
Sheets("Hoja1").Range("c1").Value = "CLASIF1"
ElseIf Range("A1").Value = "SUB2" Then
Sheets("Hoja1").Range("b1").Value = "DESC2"
Sheets("Hoja1").Range("c1").Value = "CLASIF2"
ElseIf Range("A1").Value = "SUB3" Then
Sheets("Hoja1").Range("b1").Value = "DESC3"
Sheets("Hoja1").Range("c1").Value = "CLASIF3"
Else: Range("C1").Value = "ERRORSOTE"
End If
End Sub
Pero esta macro solo funciona en la celda A1, si me posiciono en la celda A2, ya no hace nada, y yo la necesito desde la A1 hasta la A1000
Te agradezco tu atención. "saludos"

1 respuesta

Respuesta
1
Prueba así:
If ActiveCell.Value = "SUB1" Then
Sheets("Hoja1").Range("b1").Value = "DESC1"
Sheets("Hoja1").Range("c1").Value = "CLASIF1"
ElseIf ActiveCell.Value = "SUB2" Then
Sheets("Hoja1").Range("b1").Value = "DESC2"
Sheets("Hoja1").Range("c1").Value = "CLASIF2"
ElseIf ActiveCell.Value = "SUB3" Then
Sheets("Hoja1").Range("b1").Value = "DESC3"
Sheets("Hoja1").Range("c1").Value = "CLASIF3"
Else: Range("C1").Value = "ERRORSOTE"
End If
[email protected]
Primeramente gracias por contestarme, ya me toma encuenta si tecleo un valor en la columna A, ya sea A1, A2, A3, AX, sin embargo el resultado lo despliega solo en las celdas B1, C1, es decir
si yo introduzco valor en la celda A1, me despliega el resultado en las CELDAS B1, Y C1
si yo introduzco valor en la celda A2, me sigue desplegando el resultado en la celda B1 Y C1
como le puedo hacer para que me despliegue el resultado depediento de la fila en donde este, ejemplo:
a1, resultado en b1, c1
A2, resultado en B2, C2, y asi sucesivamente.
Gracias, anticipadas
Si estamos hablando de la primera hoja, sería:
ActiveCell.OffSet(0,1).Value = "DESC1"
ActiveCell.OffSet(0,2).Value = "CLASIF1"
Y así sucesivamente.
Perfecto, Muchísimas gracias por tu apoyo, me ha sido de gran utilidad, espero algún día corresponderte.
Un Abrazo, que estés muy bien, y muchas gracias de nuevo.
"saludos"
Víctor A.H.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas