|
Con VBA en Excel, son más las cosas posibles, que las imposibles...
Esto yo lo haria dentro del libro de macros Personal.xls, que es el que se crea automaticamente cuando grabamos nuestra primer macro y en el cual se graban las sucesivas macros, claro, siempre y cuando le dijamos que se graben ahi, lo que quieres no es dificil, pero si nunca te has metido con macros, al principio es un poco aspero, 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 enmedio 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...
|