Otra de Macros

28/10/2004 - 02:39 por jjsosa | Informe spam
Hola, Pretendo que en una celda se inserte una formula (promedio), sin
embargo,la Matriz a la que se le aplica la formula tiene un tamaño
variable en cuanto a los renglones, como ejemplo:

A ó A
1 8
5 9
7 0
8

Para esto utilice una Macro con la siguiente sintaxis:

Range("A2").Activate 'Defino la casilla inicial
desde = ActiveCell.Address
Do While Not IsEmpty(ActiveCell.Offset(1, 0)) 'voy al final de la
columna
ActiveCell.Offset(1, 0).Activate
Loop
hasta = ActiveCell.Address 'Defino la casilla final
Range("B1").Activate 'Defino la celda donde pretendo escribir la formula
ActiveCell.Formula = "=AVERAGE(desde:hasta)"

de esta forma, lo que escribe es #¿NOMBRE? (dado que escribe
=PROMEDIO(desde:hasta))

Traté tambien lo siguiente:

ActiveCell.Formula = "=AVERAGE("&desde&":"&hasta&")"

de esta forma, ni siquiera me deja ejecutar, ya que me marca un Error de
compilación (Se esperaba: fin de la instrucción)

Alguien puede decirme que error estoy cometiendo?????? porque no me sirve
la referencia RC que hace la grabadora de Macros.

Gracias

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
28/10/2004 - 09:18 | Informe spam
La función PROMEDIO tan sólo usa los valores numéricos del rango que tiene que procesar, así que no necesitas decirle exactamente cual es dicho rango; basta con que sea más grande que el número máximo de filas y/o columnas que tendrá que procesar, y la propia función se encargará de contar las celdas con valores numéricos, sumarlas y hacer la división.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"MEneo" escribió en el mensaje news:
Hola, Pretendo que en una celda se inserte una formula (promedio), sin
embargo,la Matriz a la que se le aplica la formula tiene un tamaño
variable en cuanto a los renglones, como ejemplo:

A ó A
1 8
5 9
7 0
8

Para esto utilice una Macro con la siguiente sintaxis:

Range("A2").Activate 'Defino la casilla inicial
desde = ActiveCell.Address
Do While Not IsEmpty(ActiveCell.Offset(1, 0)) 'voy al final de la
columna
ActiveCell.Offset(1, 0).Activate
Loop
hasta = ActiveCell.Address 'Defino la casilla final
Range("B1").Activate 'Defino la celda donde pretendo escribir la formula
ActiveCell.Formula = "=AVERAGE(desde:hasta)"

de esta forma, lo que escribe es #¿NOMBRE? (dado que escribe
=PROMEDIO(desde:hasta))

Traté tambien lo siguiente:

ActiveCell.Formula = "=AVERAGE("&desde&":"&hasta&")"

de esta forma, ni siquiera me deja ejecutar, ya que me marca un Error de
compilación (Se esperaba: fin de la instrucción)

Alguien puede decirme que error estoy cometiendo?????? porque no me sirve
la referencia RC que hace la grabadora de Macros.

Gracias



Respuesta Responder a este mensaje
#2 cuejorge2003
29/10/2004 - 00:20 | Informe spam
MEneo,

Espero te sirva esto:
Creas un rango:

Dim Rango As Object
Set Rango = Worksheets("Sheet1").Cells(1,
1).Resize(Worksheets("Sheet1").Cells(2, 1).CurrentRegion.Rows.Count - 1)
aplicas la función PROMEDIO a este rango:
Rango1 = WorksheetFunction.Average(Rango)
Lo colocas en B1
Worksheets(“Sheet1”).Range(“B1”) = Rango1

Un saludo.
Jorge



"MEneo" wrote:

Hola, Pretendo que en una celda se inserte una formula (promedio), sin
embargo,la Matriz a la que se le aplica la formula tiene un tamaño
variable en cuanto a los renglones, como ejemplo:

A ó A
1 8
5 9
7 0
8

Para esto utilice una Macro con la siguiente sintaxis:

Range("A2").Activate 'Defino la casilla inicial
desde = ActiveCell.Address
Do While Not IsEmpty(ActiveCell.Offset(1, 0)) 'voy al final de la
columna
ActiveCell.Offset(1, 0).Activate
Loop
hasta = ActiveCell.Address 'Defino la casilla final
Range("B1").Activate 'Defino la celda donde pretendo escribir la formula
ActiveCell.Formula = "=AVERAGE(desde:hasta)"

de esta forma, lo que escribe es #¿NOMBRE? (dado que escribe
=PROMEDIO(desde:hasta))

Traté tambien lo siguiente:

ActiveCell.Formula = "=AVERAGE("&desde&":"&hasta&")"

de esta forma, ni siquiera me deja ejecutar, ya que me marca un Error de
compilación (Se esperaba: fin de la instrucción)

Alguien puede decirme que error estoy cometiendo?????? porque no me sirve
la referencia RC que hace la grabadora de Macros.

Gracias




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida