Hacer una planilla de varias

02/12/2003 - 22:44 por Estela Martinez | Informe spam
Hola:

tengo un libro de excel con 300 hojas, siendo que cada
una de esas hojas son los datos de cada cliente que
contrató determinado tipo de seguro, o sea, el libro
entero es un control de los seguros contratados por mis
300 clientes.

Necesito crear una única planilla que tenga solo algunos
datos de las planillas de cada cliente, que me liste los
nombres de los clientes, la zona donde viven, la compania
de seguros que contrataron y el tipo de producto
contratado, mi pregunta es como puedo hacer para en una
sola planilla listar estos datos que estan en cada una de
las 300 hojas que son como dije datos de cada cliente.

Espero haberme sabido entender...

Saludos y gracias a quien me pueda ayudar.

Estela
 

Leer las respuestas

#1 Marco Escobar
02/12/2003 - 23:42 | Informe spam
Estela,

Prueba agregando este código en un módulo de VBA:

Asumiendo:

- "Sheet1" el nombre de la hoja donde quieres dejar los datos consolidados
- Los rangos A1, B1 y C1 donde está la información de nombre, zona y
compañia. Por supuesto, en todas las hojas esta info debe ubicarse en las
mismas celdas.

Espero te ayude


Saludos,

Marco Escobar.,

EL CÖDIGO: ..

Private iClienteIndex As Integer
Const sHomeSheet = "Sheet1"

Sub ConsolidandoDatos()
Dim iSheetITem As Integer
Dim iActiveSheet As Integer

iActiveSheet = Worksheets(sHomeSheet).Index
iClienteIndex = 0

For iSheetITem = 1 To ActiveWorkbook.Sheets.Count

If iActiveSheet <> iSheetITem Then
iClienteIndex = iClienteIndex + 1
sNombre = ActiveWorkbook.Sheets.Item(iSheetITem).Range("A1").Value
sZona = ActiveWorkbook.Sheets.Item(iSheetITem).Range("B1").Value
sCompania = ActiveWorkbook.Sheets.Item(iSheetITem).Range("C1").Value
Call DatosPorCliente(iSheetITem, sNombre, sZona, sCompania)
End If

Next

MsgBox "Datos consolidados!!!"

End Sub

Sub DatosPorCliente(ByVal iActiveSheet As Integer, ByVal sNombre As String,
ByVal sZona As String, ByVal sCompania As String)
ActiveWorkbook.Sheets.Item(sHomeSheet).Range("A5").Offset(iClienteIndex,
0).Value = sNombre
ActiveWorkbook.Sheets.Item(sHomeSheet).Range("A5").Offset(iClienteIndex,
1).Value = sZona
ActiveWorkbook.Sheets.Item(sHomeSheet).Range("A5").Offset(iClienteIndex,
2).Value = sCompania
End Sub



"Estela Martinez" wrote in message
news:0a6101c3b91d$76374670$
Hola:

tengo un libro de excel con 300 hojas, siendo que cada
una de esas hojas son los datos de cada cliente que
contrató determinado tipo de seguro, o sea, el libro
entero es un control de los seguros contratados por mis
300 clientes.

Necesito crear una única planilla que tenga solo algunos
datos de las planillas de cada cliente, que me liste los
nombres de los clientes, la zona donde viven, la compania
de seguros que contrataron y el tipo de producto
contratado, mi pregunta es como puedo hacer para en una
sola planilla listar estos datos que estan en cada una de
las 300 hojas que son como dije datos de cada cliente.

Espero haberme sabido entender...

Saludos y gracias a quien me pueda ayudar.

Estela

Preguntas similares