Visual Basic para Aplicaciones - Funciones Dinamicas en Visual Basic

Life is soft - evento anual de software empresarial
 
Vista:

Funciones Dinamicas en Visual Basic

Publicado por Kendy (3 intervenciones) el 12/11/2004 17:07:15
Estoy Programando un Macro de Excel Con Visual Basic y Necesitos usar las funciones de excel de manera dinamica, este es mi problema, si hago esto hoja1.Cells(5,5) = ""=AVERAGE(R[-3]C:R[-1]C)" eso esta bien pero cuando trato de acerlo de manera dinamica, es Decir cambiar el Valor del -3 y del -1 por variables me da error en tiempo de ejecucion 1004, No se que hacer. Agradesco toda la Ayuda que me puedan dar
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:Funciones Dinamicas en Visual Basic

Publicado por Armando (1 intervención) el 12/11/2004 18:31:01
Usa lo siguiente:

Sub Macro27()

' Tu debes formar el rango. Por ejemplo formaste el siguiente:

x = "d1"
y = "d4"

rango = Range(x, y)
ActiveCell.FormulaR1C1 = WorksheetFunction.Average(rango)
Range("D6").Select ' dejas el valor es esta celda
End Sub
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

RE:Funciones Dinamicas en Visual Basic

Publicado por Kendy (3 intervenciones) el 12/11/2004 23:34:12
Armando Agradezco mucho tu pronta respuesta, sin embargo tengo que informarte que a pesar de como tu lo planteas corre bien el programa cuando le hago unas modificaciones me da error, este es mi Codigo

Dim I As Integer
Dim J As Integer
For I = 1 To 4
For J = 1 To 4
x = "A" + Str(J)
y = "A" + Str(I)
rango = Range(x, y)
ActiveCell.FormulaR1C1 = WorksheetFunction.Average(rango)
Range("D6").Select ' dejas el valor es esta celda
Next
Next
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

RE:Funciones Dinamicas en Visual Basic

Publicado por Armando (26 intervenciones) el 15/11/2004 03:35:41
La instrucción:

x = "A" + Str(J)

' te da como resultado "A 1" lo que no es válido ya que tiene un espacio en blanco entre A y 1.

Usa lo siguiente y funcionará bien:

x= "A" & J ' Esto da como resultado "A1"
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

RE:Funciones Dinamicas en Visual Basic

Publicado por Kendy (3 intervenciones) el 16/11/2004 13:36:17
Armando Tienes Razon la manera como yo lo hacia me daba "A 1", pero te comento esto que se debe utilizar X = "A" & J para que te de "A1". Bueno en fin mucha gracias por Todo
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