Macro para culminar y probar

TENGO un control de calendario en hoja salida que cuando me coloco en d5 se activa escojo la fecha me salgo de la celda d5 y se desactiva funciona bien y esta funcionando bien pero me busca generar un error en ActiveCell.Activate me imagino que active cell es celda activa y por ende todas se activan a mover el ratón o moverme a otra celda para que me des otra macro para programarlo


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D5").Value = ActiveCell.Activate Then Hoja2.Calendar2.Visible = True Else Hoja2.Calendar2.Visible = False
End Sub

1 Respuesta

Respuesta
1

Yo no puedo probar con controles de calendario pero he probado con otro y esto te tiene que funcionar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Intersect(Target, Range("d5")) Is Nothing Then 
      Hoja2.Calendar2.Visible = True 
   Else 
      Hoja2.Calendar2.Visible = False
   End If
End Sub

La orden If la puedes escribir si quieres en una sola línea tal como lo tenías, yo la he puesto en la versión de varias líneas porque era muy larga y así se ve más claro.

Target es una variable tipo range que nos entrega el sistema y nos dice la celda o celdas que se acaban de seleccionar. Entonces la orden If pregunta si la selección y la celda D5 tienen alguna celda en común, dicho de otra forma, si D5 está entre las seleccionadas. Y si lo está hace visible el control y si no lo hace invisible.

Y eso es todo.

excelente mi amigo termine realizando el programita en excel 2003 ya que lo estaba realizando en excel 2013 y eso me daba un error al abrirlo en otros excel de años anteriores claro eso creo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas