Botón que inicie una macro con un txt en el cual pueda ingresar el # casilla donde se realice la función

Como puedo hacer un botón que me inice una macro con un textbox en el cual yo ingrese un valor y el numero de celda y en esa celda realice la función

La función es : el numero que ingreso en el txt / el valor de una celda "H9" *100 y el resultado lo muestre en la celda que yo ingrese en e textbox, podrían ser 2 textbox uno para la celda y otro para el numero que ingreso.

1 Respuesta

Respuesta
2

Pon el siguiente código en tu botón

Private Sub CommandButton1_Click()
'Por Dante Amor
    'captura la celda en un textbox y ahí pone el resultado de una operación
    '
    Set celda = Range("H9")
    If celda.Value = "" Or celda.Value = 0 Then
        MsgBox "Falta el número en la celda: " & celda.Address
        Exit Sub
    End If
    '
    If TextBox1.Value = "" Then
        MsgBox "Falta el número en el textbox1"
        Exit Sub
    End If
    '
    If TextBox2.Value = "" Then
        MsgBox "Falta la referencia de celda en el textbox 2"
        Exit Sub
    End If
    On Error Resume Next
    Set destino = Range(TextBox2.Value)
    werr = Err.Number
    If werr <> 0 Then
        MsgBox "El dato en el textbox2 no es una referencia válida"
        Exit Sub
    End If
    On Error GoTo 0
    resultado = (Val(TextBox1.Value) / celda.Value) * 100
    destino.Value = resultado
End Sub


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Como lo hago sin usar un botón solo alt +f8 y cargar la macro gracias

me falta el mensaje "se quiere un objeto " en     If TextBox1.Value = "" Then

En el textbox1 debes poner el número y en el textbox2 la referencia a la celda.

El mensaje ya está:

    If TextBox1.Value = "" Then
        MsgBox "Falta el número en el textbox1"
        Exit Sub
    End If

Pero el código ya crear los textbox o los creo yo al igual que el botón porque el botón lo creo yo y le asigno la macro pero la macro crea los textbox o los agrego yo porque ya ejecute le procedimiento y me tira eso

Debes crear los 2 textbox y también el botón. Debes crear todos los controles, la macro solamente es para realizar la operación.

Crea tus controles (textbox1, textbox2 y commandbutton) en un userform, ahí pones el código y ejecutas el userform.

Instrucciones para UserForm

  1. Abre tu hoja de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / UserForm
  4. En el panel del UserForm creas los controles
  5. Le das dobleclik al commandbutton y en el panel en blanco que se abre, ahí copias la macro

[sal u dos

Perfecto gracias funciono, ¿ahora cómo llamo esa userform desde un botón en exel o mediante una macro? nunca he usado user form en exel

Crea un módulo en VBA

En el módulo pon en el siguiente código:

Sub Abrir()
    UserForm1.Show
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Abrir
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

[sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas