Visual Basic para Aplicaciones - Configurar Formula de Excel por medio de VBA

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 45
Ha aumentado 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Configurar Formula de Excel por medio de VBA

Publicado por Javier Gonzalez (28 intervenciones) el 26/03/2018 00:00:21
Hola buenas tardes :

Tengo una pregunta respecto como insertar una formula en una celda de EXCEL

la variable hastadonde va tomando valores que son renglones



hastadonde = x valor numerico del 1 al 100

Range("L" & hastadonde).Formula = "=SI(C27>9000,"" "",J27*K27)"


en la anterior formula obviamente en la columna L en todos los renglones pone la misma formula.

Yo quiero cambiar el numero 27 de la formula por la variable hastadonde para formar la formula que va incertar en la celda, ya intente muchas formas cambiando el caracter " de todas formas pero en la macro me marca error de sintaxis,.

Alguno de ustedes que quiera decirme como hacer esto. ?

una forma que provee fue esta

Range("L" & hastadonde).Formula = "=SI(C"& hastadonde & ">9000,""" """,J&hastadonde&"*K"&hastadonde&")"

pero truena en sintaxis....

Saludos y Gracias
JAG
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Configurar Formula de Excel por medio de VBA

Publicado por Antoni Masana (498 intervenciones) el 26/03/2018 11:18:34
Esta Macro funciona con rutas relativas: =SI(C1>9000; ""; J1*K1)

1
2
3
4
5
6
7
Sub Macro1()
    Dim a As Integer, c As String
    For a = 1 To 100
        Range("L" & a).Select
        ActiveCell.FormulaR1C1 = "=IF(RC[-9]>9000,"""",RC[-2]*RC[-1])"
    Next
End Sub

Esta Macro funciona con rutas absolutas: =SI($C$1>9000; ""; $J$1*$K$1)

1
2
3
4
5
6
Sub Macro2()
    Dim a As Integer, c As String
    For a = 1 To 100
        Range("L" & a).Select
        ActiveCell.FormulaR1C1 = "=IF(R" & a & "C3>9000,"""",R" & a & "C10*R" & a & "C11)"
    Next

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar