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)
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
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
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.
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:
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 inputbox 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 avisa que se ha producido el cambio.
08/09/2021 a las 6:37 pm
Bien clara la explicación