.
Este ejemplo es a pedido de un suscriptor del canal de youtube, la macro abre otro libro que contiene un password o contraseña e importa los datos pegándolos en el libro de Excel actual, es decir abre el libro que necesitamos copia los datos y los pega en el libro en el cual estamos trabajando, en este caso el que contiene la macro para que luego podamos seguir trabajando con dicha información.
En los post siguientes hay otras ejemplos que trabajan con password por si interesa el tema:
1) formulario que solicita password para ejecutar macro
2) leer el número de serie de la PC para dar acceso o no al Libro Excel
3) proteger archivo leyendo número de serie de la PC y ocultar hojas.
El ejemplo se descarga desde el final del post, Aporta por favor para sostener el sitio si está dentro de tus posibilidades, desde ya muchas gracias.
Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
En el libro Excel de ejemplo hay dos botones uno permite borrar, de esta manera podemos ejecutar la macro cientos de veces y ver los resultados obtenidos por la macro, el otro botón es el cual contiene la macro que abre otro libro ingresa el password importa los datos y copia en el libro Excel donde se está trabajando.
Quizá sea de utilidad también
Como abrir un archivo de Word con Excel
Como enviar mail con archivo Excel y PDF mediante Outlook con Excel
Como copiar archivos y carpetas con macro
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Al presionar el botón se abre un explorador de archivos de windows que solicita se seleccione el archivo del cual se requiere importar datos, ustedes pueden elegir cualquier archivo, el archivo que se descargo es el que está preparado para funcionar con este ejemplo, el mismo tiene password o clave, la cual es: 1234.
Al seleccionar el archivo la macro abre el fichero con el password de esta forma:
Workbooks.Open Filename:=myfile, UpdateLinks:=0, Password:=»1234″
Una vez abierto el fichero copia todas las celdas de la Hoja1 e importa o pega los datos en la hoja «Datos» del libro con la macro, de esta forma:
Sheets(«Hoja1»).Cells.Copy Destination:=Workbooks(mybook).Sheets(«Datos»).Cells(1, 1)
Luego cierra el libro del cual se importó datos, sin guardar cambios, asi:
Workbooks(a).Close False
Por último la macro muestra un msgbox (aprende más sobre msgbox), para avisar que se importaron datos; el código completo se expone a continuación, recuerda ver la macro en acción en el vídeo, descarga el ejemplo y sigue los pasos para que sea más fácil entender el ejemplo denominado Abrir Otro Libro Excel con Password e Importar Datos.
Código que se inserta en un módulo
Sub openbook()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim myfile, mybook, a As String
On Error Resume Next
ruta = ActiveWorkbook.Path
ChDir ruta
myfile = Application.GetOpenFilename(«Archivos Excel (*.xl*), *.xl*»)
mybook = ActiveWorkbook.Name
Set b = Sheets(«Hoja1»)
Set c = Sheets(«Datos»)
c.Cells.Clear
Workbooks.Open Filename:=myfile, UpdateLinks:=0, Password:=»1234″
FullName = Split(myfile, Application.PathSeparator)
a = FullName(UBound(FullName))
Sheets(«Hoja1»).Cells.Copy Destination:=Workbooks(mybook).Sheets(«Datos»).Cells(1, 1)
Application.CutCopyMode = False
Workbooks(a).Close False
Application.ScreenUpdating = True
If c.Range(«A1») = Empty Then
MsgBox («No se ha copiado ningun registro»), vbInformation, «AVISO»
Else
MsgBox («Los datos se copiaron con éxito con éxito»), vbInformation, «AVISO»
End If
End SubSub borrar()
Range(«A:F»).Clear
End Sub
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim myfile, mybook, a As String
On Error Resume Next
ruta = ActiveWorkbook.Path
ChDir ruta
myfile = Application.GetOpenFilename(«Archivos Excel (*.xl*), *.xl*»)
mybook = ActiveWorkbook.Name
Set b = Sheets(«Hoja1»)
Set c = Sheets(«Datos»)
c.Cells.Clear
Workbooks.Open Filename:=myfile, UpdateLinks:=0, Password:=»1234″
FullName = Split(myfile, Application.PathSeparator)
a = FullName(UBound(FullName))
Sheets(«Hoja1»).Cells.Copy Destination:=Workbooks(mybook).Sheets(«Datos»).Cells(1, 1)
Application.CutCopyMode = False
Workbooks(a).Close False
Application.ScreenUpdating = True
If c.Range(«A1») = Empty Then
MsgBox («No se ha copiado ningun registro»), vbInformation, «AVISO»
Else
MsgBox («Los datos se copiaron con éxito con éxito»), vbInformation, «AVISO»
End If
End Sub
Sub borrar()
Range(«A:F»).Clear
End Sub
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends