Vba y excel

Te tengo una pregunta y espero que puedas ayudarme, estoy haciendo un programa en excel, pero tengo el siguiente problema, cuando uso vba y uso el comando useform para crear un formulario, luego le coloco un textbox por ejemplo, la pregunta es la siguiente ¿Cómo hago para declarar ese textbox como tipo fecha?, de tal manera que los usuarios del sistema puedan introducir fecha en ese campo.

2 Respuestas

Respuesta

Muestra la fecha de hoy en formato de 05/10/15 en txtFecha al iniciar el userform:

Private Sub UserForm_Initialize()

Userform.txtFecha = Format(Date, "dd/mm/yy")

end sub

Al ingresar los datos de userforms a excell estos en algunos casos son copiados en formato tipo texto y para pasarlos en el caso de fecha puedes colocar este codigo donde termine el userform (en este caso convertira todos los datos de columna "A" a formato fecha puedes cambiar a la columna que requieras) :

with Hojaexcel
Columns("A:A").Select
Selection.NumberFormat = "dd/mm/yy"
end with

Recuerda puedes cambiar los formatos de fecha: 

Respuesta
1
He leído tu mensaje, tanto vba de excel como vb puedes agregar controles adicionales, te sugiero que en la cuadro de herramientas hagas un clic con el botón derecho te va aparecer un menú emergente, ingresá a "controles adicionales...", o que es lo mismo que ir al menú herramientas, "controles adicionales", bueno ahí busca el componente "Microsoft Masked Edit Control" cualquier versión, éste control tiene una propiedad llamada Mask, te muestro un ejemplo, tené en cuenta que depende del país la máscara puede variar, por ejemplo yo soy de Argentina el formato es mes/día/año; ej:
propiedad mask: ##/##/####
Private Sub UserForm_Activate()
MaskEdBox1.Text = Format(Date)
End Sub
Cuando ejecuto el formulario me aparecerá en pantalla: 26/06/2001
Nota: el control te permite introducir número no letras, pero no controla la hora, osea que si el usuario ingresa mal la fecha debés considerarlo, bueno espero que te sirva.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas