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. Esta función se escribe: Inputbox (Prompt, Title, Default).
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.
Entre las ventajas tenemos que el InputBox nos permite desarrollar una tarea específica dependiendo del valor brindado por el usuario.
Una vez que conocemos las partes del InputBox, detallaremos algunos ejemplos de esta función.
Ejemplo 1.
Primero: 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
Como se muestra en las imágenes anteriores, 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.
Ejemplo 3.
Buscar un dato con ayuda de un imput box y cambiarlo mediante el uso de otro.
Para realizar el ejemplo primero copiar el 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: Para columnas decidí hacerlo hasta la columna 100.
Básicamente lo que hace el código es registrar un valor en inputbox 1, luego buscarlo en la hoja y cambiarlo al valor que redactemos en el inputbox 2.
En el input box redactamos la palabra que deseamos buscar:
Muestra un mensaje de “Lo encontré” al encontrar el valor escrito.
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 input box donde podemos escribir la palabra a la que deseamos cambiar.
Al darle aceptar cambia automáticamente la palabra, le quita el formato de la celda y te avisa del cambio.