Necesito que el programa Microsoft Excel me pida una fecha al abrir un documento...

Tragajo diariamente con una hoja de Excel y mi pregunta es la siguiente:
Desearía que al abrir un acceso directo a una hoja.xls se me solicite (y necesariamente tengamos que introducirla) "INTRODUCIR FECHA" dd-mm-aa, y que esta fecha se pegue en una celda determinada de la hoja.
También que me solicite dos datos numéricos, ej. 123 - 456 con el siguiente mensaje "INTRODUCIR NUMERO", y del mismo modo que la fecha que se pegue en dos celdas determinadas de la hoja (una para 123 y otra para 456).
Así mismo desearía que se me creara un archivo, en un directorio determinado, con el nombre de la fecha introducida y que este archivo sea con el que vamos a trabajar.
¿Es posible?

1 Respuesta

Respuesta
1
Con VBA en Excel, son más las cosas posibles, que las imposibles...
Esto yo lo haría dentro del libro de macros Personal.xls, que es el que se crea automáticamente cuando grabamos nuestra primer macro y en el cual se graban las sucesivas macros, claro, siempre y cuando le digamos que se graben ahí, lo que quieres no es difícil, pero si nunca te has metido con macros, al principio es un poco áspero, los pasos ha seguir son:
- Abre del archivo que mencionas, al cual tienes el acceso directo
- Entra al Editor de Visual Basic (Alt + F11)
- Dentro del explorador de proyectos, da un doble clic donde dice ThisWorkbook, normalmente el Explorador de proyectos (es muy parecido al de Windows) esta del lado izquierdo, arriba, antes de las barras de herramientas...
- El cursor se desplazara a la ventana a la derecha y arriba veras dos cuadros combinados que dicen o deben decir General y Declaraciones, dentro de General, seleccionas Woorkbook, veras que abajo te agregara el siguiente texto
Private Sub Workbook_Open()
End Sub
Si es este, entonces con el cursor en medio de las lineas que te agregue, del cuadro combinado de la derecha, seleccionas Open, para que quede como las lineas anteriores, si no me explique en esto, entonces solo copia lo siguiente:
Option Explicit
Private Sub Workbook_Open()
Dim strFecha As String
Dim strRuta As String
Dim strNum As String
Dim wbNuevo As Workbook
'Ruta donde quiero el archivo
strRuta = "C:\Mis documentos\"
'Solicito la fecha
strFecha = Trim(InputBox("Introducir la fecha", "Fecha"))
'Compruebo que sea una fecha
If IsDate(strFecha) Then
'Le doy formato a la fecha como yo quiera
strFecha = Format(strFecha, "dd-mm-yy")
'Contruyo el nombre del archivo con la fecha y la ruta completa
strRuta = strRuta & "Archivo_" & strFecha & ".xls"
'Agrego un nuevo libro
Set wbNuevo = Workbooks.Add
'Guardo el libro en la ruta especificada
wbNuevo.SaveAs strRuta
'Agrego al fecha a la celda A1
Range("A1").Value = CDate(strFecha)
'Solicito el primer numero
strNum = Trim(InputBox("Introducir numero", "Numero 1"))
'Lo agrego a la celda A2
Range("A2").Value = Val(strNum)
'Solicito el segundo numero
strNum = Trim(InputBox("Introducir numero", "Numero 2"))
'Lo guardo en la celda A3
Range("A3").Value = Val(strNum)
'Libero la memoria usada
Set wbNuevo = Nothing
Else
'Si la fecha es incorrecta, informo al usuario, existe la
'posibilidad de "obligar" al usuario a introducir una fecha
'valida y no dejarlo pasar hasta que lo haga
MsgBox "Fecha incorrecta"
End If
End Sub
Muy IMPORTANTE, NO debe de quedar repetido el Workbook_Open, cierra tu libro, por supuesto guardando los cambios y veras lo que hace...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas