Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Abrir varios archivos CSV y guardarlos como Sheets

Estas en el tema de Abrir varios archivos CSV y guardarlos como Sheets en el foro de Visual Basic clásico en Foros del Web. Buenas, ando necesitando ayuda y por eso recurro a ustedes. Lo que me está trayendo a mal traer, es básicamente lo que puse de Título. ...
  #1 (permalink)  
Antiguo 03/06/2010, 10:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Abrir varios archivos CSV y guardarlos como Sheets

Buenas, ando necesitando ayuda y por eso recurro a ustedes.
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:
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
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.

Código:
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
Desde ya les agredezco a todos los que puedan llegar a darme una mano.

Saludos!!!

Etiquetas: csv
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:53.