Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Abrir Otro Libro Excel con Password e Importar Datos


.

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.

  
El vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, trabajando con filas, celdas, columnas, rangos y muchos ejemplos más.


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);
}
}



 
Una vez descargado el ejemplo, que es un archivo comprimido que contiene dos ficheros, uno con la macro y otro que se llama exactamente igual, pero con extensión xlsx que es de donde se importan los datos, sugiero descomprimir en la misma carpeta así cuando abra el explorador de archivos directamente salga el archivo de ejemplo y no hay que estar buscándolo en la PC.

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 Sub

Sub borrar()
Range(«A:F»).Clear
End Sub

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

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