Botón que se active cuando haya contenido en una celda.

Dante Amor, espero que estén super bien.

Me podría hacer el favor de ayudar con esto:

Yo quiero que un botón de "control de formulario" o una forma usada como botón se active solamente cuando en una celda especifica tenga algún contenido "texto o numero" si no hay nada en esa celda el botón se desactive.

2 Respuestas

Respuesta
1

Me has recomendado esta consulta pero no puedo responderla porque esta dirigida a otro experto... Dejaré que el te la responda.

Las consultas no debieran estar 'dirigidas' (salvo casos puntuales) para que puedan responderte los que quizas tienen el ejemplo justo o tengan el tiempo disponible y así evitas demoras.

Sdos.

Elsa

Respuesta
1

H o l a Ramon:

Te anexo las macros para activar o desactivar el botón de "Control de formulario", según el contenido de una celda:


Antes de poner en funcionamiento las macros, necesitamos conocer algunos datos:

  • El nombre de la hoja donde tienes el botón
  • El nombre del botón, para conocer el nombre del botón, selecciona el botón y revisa el nombre en el "Cuadro de nombres"; en mi ejemplo, el botón se llama "Botón 1"
  • La celda específica que determinará si se activa o no el botón.
  • El nombre de la macro que se ejecuta cuando presionas el botón.

Pon la siguiente macro en los eventos de tu libro:

Private Sub Workbook_Open()
'Por.Dante Amor
    With Sheets("Hoja1").Shapes("Botón 1")
        If Range("B5") = "" Then
            .OnAction = ""
        Else
            .OnAction = "macro"
        End If
    End With
End Sub

Cambia en la macro anterior "Hoja1" por el nombre de la hoja que contiene el botón. Cambia "B5" por la celda, "Botón 1" por el nombre de tu botón y "macro" por el nombre de tu macro.


Instrucciones para poner la macro en los eventos ThisWorkbook

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
  4. Del lado derecho copia la macro

Pon la siguiente macro en los eventos de tu hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        With ActiveSheet.Shapes("Botón 1")
            If Target = "" Then
                .OnAction = ""
            Else
                .OnAction = "macro"
            End If
        End With
    End If
End Sub

De igual forma, cambia en la macro anterior "B5" por la celda, "Botón 1" por el nombre de tu botón y "macro" por el nombre de tu macro.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Listo!. Cada que cambies la celda B5, se activará o desactivará el botón.

No dudes en consultarme si tienes algún problema para acomodar las macros. Si lo deseas puedes enviarme tu archivo y te apoyo para adaptar las macros.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “” y el título de esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas