no se que pasa con la macro...

Maria Ines Mc Loughlin
07 de Diciembre del 2003
Hola, tengo esta macro que es para consolidar algunos datos de un libro de excel que tiene hojas desde la 1 a la 300, antes de ejecutar la macro añado una hoja y la pongo como primera, ya que la macro consolida en la hoja 1.

Pero al ejecutar la macro me dice que se ha producido el erro 9r en tiempo de ejecucion, subindice fuera del intervalo.

Yo no se si esto sucede porque le añado una hoja y la pongo como primera, es porque la macro necesita esa hoja 1 para consolidar los datos, al menos quien me ayuda a hacerla estipulo que en la hoja 1 se consolidarion los datos.

La macro es esta que sigue y si alguien me puede ayudar a ver por que me sale este error...muchas gracias por el tiempo dedicado y saludos:

Maria Ines
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
sProducto = ActiveWorkbook.Sheets.Item(iSheetITem).Range("D1").Value
Call DatosPorCliente(iSheetITem, sNombre, sZona, sCompania, sProducto)
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, ByVal sProducto 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
ActiveWorkbook.Sheets.Item(sHomeSheet).Range("A5").Offset(iClienteIndex, _
3).Value = sProducto

End Sub