Ayuda formula desde código

14/11/2007 - 13:27 por Antonio | Informe spam
Hola a todos, para calcular el número de ceros que hay en un rango hago

iNum = Application.WorksheetFunction.CountIf(ActiveSheet.Range("H21:I34"),
"=" & 0)

Que funciona correctamente, el problema es que quiero calcula los ceros de
otra hoja de otro fichero para hacer esto
xlwSemana.Sheets(3).Select
xlwSemana.Sheets(3).Activate (siendo xlwSemana As Excel.Workbook)
El problema es que ActiveSheet sigue siendo siempre la otra hoja y aunque he
seleccionado y activado esta no lo cambia.

Un saludo y muchas gracias
 

Leer las respuestas

#1 Héctor Miguel
14/11/2007 - 22:36 | Informe spam
hola, Antonio !

... para calcular el numero de ceros que hay en un rango hago
iNum = Application.WorksheetFunction.CountIf(ActiveSheet.Range("H21:I34"), "=" & 0)
Que funciona correctamente, el problema es que quiero calcula los ceros de otra hoja de otro fichero para hacer esto
xlwSemana.Sheets(3).Select
xlwSemana.Sheets(3).Activate (siendo xlwSemana As Excel.Workbook)
El problema es que ActiveSheet sigue siendo siempre la otra hoja y aunque he seleccionado y activado esta no lo cambia.



(segun parece) no necesitas ni la instruccion ".Select" ni tampoco la ".Activate" (aplicadas a un objeto establecido/declarado)
prueba modificando solamente la instruccion que ya te ha funcionado:
de: -> iNum = Application.WorksheetFunction.CountIf(ActiveSheet.Range("H21:I34"), "=" & 0)
a: -> iNum = Application.WorksheetFunction.CountIf(xlwSemana.Sheets(3).Range("H21:I34"), "=" & 0)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares