Excel - error VBA EXCEL

 
Vista:

error VBA EXCEL

Publicado por kruher (1 intervención) el 01/11/2007 20:15:41
estoy empezando con esto del VBA y me he comprado un libro, que se supone debe de funcionar si uno lo sigue al pie de la letra, pero no es asi.
He generado la siguiente macro como dice el libro
Sub Loop1()
Do
ActiveCell.FormulaR1C1 = "=PROMEDIO(RC[-2],RC[-1])"
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Offset(0, 1))
End Sub
y la aplico a el ejemploo que tambien me dice el libro seleccionando la casilla C2
Max Min Promedio Fecha
20 17 #¡REF! 01/03/2007
22 21 #¡REF! 02/03/2007
27 23 #¡REF! 03/03/2007
29 20 #¡REF! 04/03/2007
252 21 #¡REF! 05/03/2007
25 16 #¡REF! 06/03/2007
24 17 #¡REF! 07/03/2007
23 20 #¡REF! 08/03/2007
22 26 #¡REF! 09/03/2007
21 21 #¡REF! 10/03/2007
27 16 #¡REF! 11/03/2007
20 17 #¡REF! 12/03/2007
22 20 #¡REF! 13/03/2007
26 18 #¡REF! 14/03/2007
23 23 #¡REF! 15/03/2007
29 21 #¡REF! 16/03/2007
27 22 #¡REF! 17/03/2007
28 20 #¡REF! 18/03/2007
25 #¡REF! 19/03/2007

pero en vez de darme el promedio, me sale este error; lo curioso es que cuando clilkeo sobre algunas de las casillas #¡REF! entonces la formula se pone en funcinamiento, se marcan las casillas de referencia en color etc.
si me pudieran ayudar para seguir avanzando.
Un saludo Kruher
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error VBA EXCEL

Publicado por Fernando (231 intervenciones) el 01/11/2007 23:10:34
Prueba con este procedimiento.

****************************************************************************************

Public Sub Loop1()
Dim Rg As Range

Set Rg = Range(ActiveCell, ActiveCell.End(xlDown))
ActiveCell.End(xlDown).Offset(1, 0).FormulaR1C1 = WorksheetFunction.Average(Rg)
End Sub

****************************************************************************************

Puedes dar foco en alguna de las letras de las propiedades ocupadas que no conoces y presionar F1 para obtener ayuda con ejemplos, así es más simple entender.

Nota: debes tener seleccionada la primera celda de tu rango a obtener el promedio.

Saludos,
Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar