Rango de celdas a1:a1000

Buenas noches, CADIPAS, espero estés muy bien, quisiera pedirte un favorsote, si me puedes ilustrar con la solución de un problema que se me presenta con una MACRO, en donde intento validar una información en la columnas A1:A1000, que me regrese resultados en las columnas BX, CX, ya lo hace, pero solo me lo representa, se me posiciono por segunda vez en la CELDA ACTIVA, porque después de dar la tecla enter, no me representa el resultado si no hasta que me posiciono de nuevo en la regla Activa.
Otro detalle, es que si me posiciono fuera del rango de las celdas A1:A1000, también me despliega resultados y quiero evitarle.
¿Cómo puedo resolver mi problema?
Aqui te envio el codigo de la MACRO
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Value = "SUB1" Then
ActiveCell.Offset(0, 1).Value = "DESC1"
ActiveCell.Offset(0, 2).Value = "CLASIF1"
ElseIf ActiveCell.Value = "SUB2" Then
ActiveCell.Offset(0, 1).Value = "DESC2"
ActiveCell.Offset(0, 2).Value = "CLASIF2"
ElseIf ActiveCell.Value = "SUB25" Then
ActiveCell.Offset(0, 1).Value = "DESC25"
ActiveCell.Offset(0, 2).Value = "CLASIF25"
Else
ActiveCell.Offset(0, 1).Value = "MERCANCIA NO REGISTRADA"
ActiveCell.Offset(0, 2).Value = "PREGUNTE A SERANA POR CLASIFICACION"
End If
Gracias, y un abrazo.
VictorAH
End Sub

1 respuesta

Respuesta
1
No entiendo muy bien lo que pretendes, pero el segundo fenómeno es normal. Prueba este código, cambialo por el que tú tienes:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim COL As Double
Dim FILA As Double
COL = Target.Column
FILA = Target.Row
If COL = 1 And FILA <= 1000 Then
If ActiveCell.Value = "SUB1" Then
ActiveCell.Offset(0, 1).Value = "DESC1"
ActiveCell.Offset(0, 2).Value = "CLASIF1"
ElseIf ActiveCell.Value = "SUB2" Then
ActiveCell.Offset(0, 1).Value = "DESC2"
ActiveCell.Offset(0, 2).Value = "CLASIF2"
ElseIf ActiveCell.Value = "SUB25" Then
ActiveCell.Offset(0, 1).Value = "DESC25"
ActiveCell.Offset(0, 2).Value = "CLASIF25"
Else
ActiveCell.Offset(0, 1).Value = "MERCANCIA NO REGISTRADA"
ActiveCell.Offset(0, 2).Value = "PREGUNTE A SERANA POR CLASIFICACION"
End If
End If
End Sub
Suerte
Hola Buenas tardes, Amigo CADIPAS, me fue de mucha utilidad, tu recomendación, ojala, que haya mucha gente como tu, con la Disponibilidad de ayudar, gracias de nuevo un Cuidate, un Abrazo
Víctor A. H.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas