Corregir Range en VBA a ejecutar en lista desplegable

Tengo en VBA el siguiente código

Private Sub Worksheet_Change(ByVal Target As Range)

 If Target = Range("A2") Then

    Range("B2").Value = ""

End If

 End Sub

Yo necesito usarlo en una columna que va del A2 a A300, pongo según me he orientado por google buscando debería ser ("A2:A300") ...("B2:B300"). Pero no me funciona correctamente. No tengo mucha experiencia en VBA por eso no he encontrado la forma de resolverlo. Aguardo una respuesta a la brevedad por favor, ya que es para terminar una planilla del trabajo. Gracias totales. MAJO

2

2 respuestas

Respuesta
1

Hol.a

Solo para tratar de entenderte mejor ¿si ocurre qué en "A2:A300", qué debe pasar en "B2:B300"? Salu2

Abraham Valencia

SI EN A2:A300 Se modifica la info, que blanquee la info de B2:B300, 

Porque en A tengo una lista desplegable, en B otra anidada a la primera, pero si modifico la de A deberia poner "" en B para darme cuenta que hay que modificar la data de B

Pues si mal no te entendí, esto te ayudará:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("A1:A300")) Is Nothing Then
    Target.Offset(0, 1) = ""
End If
End Sub

Comentas

Abraham Valencia

¡Gracias! totalmente funciono correctamente!!! Mil mil GRACIAAAAS!!!

Genios!!! ;)

Te hago otra consulta.

En una planilla tengo datos, creo una lista desplegable que con cada suc (B) me traiga las maquinas asignadas (C). Pero en (A) están los números de sucursales. Para no repetir a mano, en la (B) por medio de la fórmula concatenar me genera la suc (B) para que me de las opciones en la columna (C) de las maquinas que dispone. Se había solucionado que al cambiar la info en la celda (B) blanquee el contenido de la celda (C). ESta misma funciona, si el cambio es a mono, es decir entro en la lista desplegable de la columna (B) y me limpia la celda en (C). Pero si los datos de la columna (A) se modifican, el contenido de la columna (B) se modifica, no así limpiando las celdas adyacentes de la columna (C). ¿Se entiende? ¿ES posible corregir?

Aguardo la respuesta, gracias totales!

Hol.a

Cierra esta pregunta y abre una nueva.

Salu2

Abraham Valencia

Respuesta

Quieres qué al realizar cualquier cambio en el rango ("A2:¿A300") automáticamente se limpie tu celda B2?

Ya intentaste algo así como

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$A$2:$A$300

Then Range("B2").ClearContents

  End If

End Sub

Comentas,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas