Macro para extraer información de encuestas

Recurro a tus valiosos conocimientos para resolver el siguiente dilema,
tengo un numero determinado de encuestas en excel dentro de una carpeta por, que macro existe para poder entrar a cada una de ellas extraer la información, que siempre esta en la misma columna ej: B2:b30, y colocarlas en otra hoja excel llamada "recolector" que recopile toda la información en columnas independientes.

1 Respuesta

Respuesta
1
Disculpa la demora, ¿pero tuve exceso de consultas?.. además empezó el mundial!
Si todavía no lo resolviste, aquí van algunas rutinas para cada tarea, luego te queda armarlas a tu criterio y necesidad:
Para buscar los libros que necesitas ir abriendo, esta es la rutina:
Sub buscalibro()
Dim milibro
'la variable guarda la ruta y nombre del archivo a abrir
milibro = Application.GetOpenFilename
'si la variable está vacía significa que cancelamos la ventana de diálogo
If milibro = False Then Exit Sub
'abrir el libro
Workbooks.Open milibro
'aquí siguen tus instrucciones, en este caso solo muestra el nombre del libro activo
MsgBox ActiveWorkbook.Name
End Sub
Para copiar datos de un libro a otro:
Según la rutina anterior, una vez abierto el libro pasa a ser el activo, y sabiendo el rango a copiar podrías utilizar algo así:
'ajustar la hoja a abrir
ActiveWorkbook.Sheets(1).Select
'copia el rango a partir de la fila 2 y columna según variable
ActiveSheet.Range("B2:B30").Copy Destination:=Workbooks("tu_libro_resumen").Sheets("tu_hoja").Cells(2, col)
ESto requiere una variable col, que se irá incrementando por cada libro que abres.
Si el rango no se copia de una, sino que debe ser ubicado en celdas discontinuas, utilizarás un bucle del tipo:
While activecell.row <= 30
Activecell.copy destination:= Workbooks("tu_libro_resumen").Sheets("tu_hoja").Cells(fila, col)
Donde 'fila y col' serán los destinos
Espero te sirva y no olvides finalizar si el tema queda resuelto.
Hola Elsa:
Ante todo muchas gracias por tu respuesta, pero tengo una inquietud, no hay alguna forma donde yo pueda llamar la carpeta y que por intermedio de una macro lea uno a a uno los archivos los copie y los vaya pegando en mi archivo, sin tenerlo que hacer en forma independiente, lo cual es más dispendioso si se trata de un numero alto de encuestas, gracias.
Diego
Aquí te adjunto la parte de la rutina que abre los libros de la carpeta que se establece en la variable. Esta ruta puede ser establecida también como contenido de un InputBox o de una celda.
Luego donde te lo menciono, debés agregar la parte del copiado de datos que ya te adjunté en respuesta anterior.
Saludos y no olvides finalizar la consulta.
Sub BuscaArchivos()
Dim dire As String
Dim archi As String
'se establece el directorio a buscar - Ajustar
dire = "C:\Documents and Settings\...\PENDIENTES\"
archi = Dir(dire)
' comienza el bucle de búsqueda
Do While archi <> ""
If Right(archiv, 3) = "xls" Then
'aquí vendrá el resto de la rutina, la que copia....
'opcionalmente solo muestra el nombre del libro encontrado
MsgBox archi
End If
' continua con la siguiente búsqueda
archi = Dir()
Loop
End Sub
*** Más macros en manual '400Macros' explicadas en español.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas