Lo que me está trayendo a mal traer, es básicamente lo que puse de Título.
Tengo 21 archivos .CSV todos dentro de una misma carpeta. Y lo que quiero es generar una macro que me pregunte el nombre de la carpeta, y que al pasarselo (es la misma siempre por default), me genere 21 hojas (obviamente cada uno con el contenido de un archivo CSV).
Una vez que pueda tener todas las hojas con los CSV dentro del libro con el que estoy trabajando, creo que ya podría terminar por mi cuenta la macro.
Anduve chusmeando por la web y encontré este código que hace un loop sobre el directorio y lista los nombres
Código:
Y también otro código que lo que hace es ingresar un hipervinculo al archivo al costado de cada nombre. No sé si este segundo código es de gran ayuda o no.Sub RepasarCarpeta() 'Sacamos los nombres de los archivos de la carpeta. Dim strArchivoExcel As String Dim strNombreCarpeta As String Dim r As Range Range("A1").Select 'carpeta a repasar strNombreCarpeta = "Z:\Documents\" 'preparar carpeta ChDir strNombreCarpeta strArchivoExcel = Dir("*.csv") 'repasamos los archivos de la carpeta Do While strArchivoExcel <> "" strArchivoExcel = Dir Set r = ActiveCell r.Value = strArchivoExcel r.Offset(1, 0).Activate Loop End Sub
Código:
Desde ya les agredezco a todos los que puedan llegar a darme una mano.Sub PHyperlinkChange() Dim RutaUsuarios As String ' Guarda la ruta del archivo RutaUsuarios = "TEXT;" + Application.GetOpenFilename ActiveSheet Do While ActiveCell <> "" ActiveCell.Offset(0, 1).Select NombreLibro = ActiveCell.Offset(0, -1).Value ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ "Z:\Documents\" + NombreLibro, TextToDisplay:= _ "Abrir" ActiveCell.Offset(1, -1).Select Loop End Sub
Saludos!!!