Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

¿Qué es un inputbox?

| 1 comentario

El Inputbox nos ofrece una entrada para un determinado dato colocado por el usuario. Se divide de manera visual en dos partes, la parte superior del Inputbox se muestra un mensaje para el usuario, y en la parte inferior hay una caja de texto en donde el usuario podrá agregar un valor.

Sintaxis del Inputbox

La sintaxis de esta función es:

Inputbox (Prompt, Title, Default)

inputbox1 inputbox1

Como se muestra en la imagen, hay tres parámetros principales: 

a) Prompt: especifica la leyenda que mostrará la caja de mensajes

b) Title: es el título que llevará el cuadro de diálogo 

c) Default: es el texto que mostrará la caja de texto (este dato es opcional) 

Entre las ventajas tenemos que el InputBox nos permite desarrollar una tarea específica dependiendo del valor brindado por el usuario.

Sintaxis completa de inputbox

sintaxis inputbox vba

 

Posición horizontal, (xpos) es el número que permite identificar la distancia (en pixeles) respecto de la parte izquierda de la pantalla, si este dato se omite, el resultado se muestra centrado respecto de la horizontal. 

Posición vertical, (ypos), es la posición de donde se mostrará el cuadro, respecto de la parte superior. Si se omite este valor, el inputbox se presenta verticalmente centrado.

Archivo ayuda, (helpfile) es el archivo con la ayuda correspondiente (no se suele utilizar)

 

z en el ejemplo representa la variables que recibirá el dato existente en la caja de texto en el momento en que se presione el botón "aceptar"

 

Ejemplos de Inputbox

Una vez que conocemos las partes del InputBox, detallaremos algunos ejemplos de esta función. 

Ejemplo 1

En este ejemplo vamos a solicitar varios nombres usando Inputbox. Para ello, copiaremos la siguiente indicación.

Sub Ejemplo1 ()

Dim x As String

Dim y As Integer

Range ("A1").Select

For y = 0 To 5

x= (InputBox("Ingrese su nombre"),"Nombre")

ActiveCell.Offset(y,0).Value = x

Next

End Sub

inputbox2 inputbox2

Como se muestra en las imágenes anteriores del ejemplo, el usuario podrá digitar el nombre en la caja de texto y al dar aceptar se colocará en la celda que se especifica en la instrucción.

Ejemplo 2

Cuando solicitamos un nombre y lo colocamos en una celda, la instrucción y el resultado se mostrarán a continuación.

inputbox3 inputbox3

Ejemplo 3

En este ejemplo se buscará un dato con ayuda de un inputbox y cambiarlo mediante el uso de otro.

Para realizar el ejemplo primero se usará la siguiente macro:

Sub EjemploInputBox()

x = InputBox("Introducir dato a buscar", "Buscar datos")

For o = 1 To 100

ult = Cells(Rows.Count, 1).End(xlUp).Row

For y = 1 To ult

If Cells(y, o) = x Then

MsgBox ("Lo encontre")

Cells(y, o).Select

 With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 65535

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

nuevo = InputBox("Escribir a lo que desea cambiar", "cambiar")

Cells(y, o) = nuevo

Cells(y, o).Select

     With Selection.Interior

        .Pattern = xlNone

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

MsgBox ("Se cambio el dato")

End If

Next

Next

End Sub

OBSERVACIÓN: En el ejemplo, en el caso de las columnas se utilizó hasta la columna 100.

Básicamente lo que hace el código es pedir un valor en el primer inputbox, y luego buscarlo en la hoja y cambiarlo por el valor que coloquemos en el segundo inputbox.

En el inputbox redactamos la palabra que deseamos buscar:

inputbox4 inputbox4

 

Muestra un mensaje de “Lo encontré” al encontrar el valor escrito.

inputbox5 inputbox5

Se ubica en la celda donde se encuentra el dato buscado y pinta la celda de amarillo para ubicarla de manera rápida, además sale un nuevo inputbox donde podemos escribir la palabra a la que deseamos cambiar.

inputbox6 inputbox6

Al darle aceptar cambia automáticamente la palabra, le quita el formato de la celda y avisa que se ha producido el cambio.

inputbox7 inputbox7

Ejemplo 1-2

Ejemplo3

 

Un comentario

  1. Bien clara la explicación

Deja una respuesta

Los campos requeridos estan marcados con *.