Insertar fórmula con vb en excel

Para insertar una fórmula con macro en una celda, la fórmula que necesito insertar una vez que termine con el proceso de borrado de ciertas celda es la siguiente:

Range("J14").Formula = "=SI(ESERROR(BUSCARV($AJ$8,[SIROKI_V.20.19.xlsm]BD_BANCOS!$I$13:$K$10000,3,FALSO)),"",BUSCARV($AJ$8,[SIROKI_V.20.19.xlsm]BD_BANCOS!$I$13:$K$10000,3,FALSO))"

2 Respuestas

Respuesta
1

[Hola

Debes usar la propiedad "FormulaLocal" si deseas insertar las fórmulas con funciones en tu idioma:

https://abrahamexcel.blogspot.com/2018/11/insertar-formulas-con-macros.html 

Comentas

Abraham Valencia

Esta es mi macro, (que intente modificar de acuerdo al enlace que me enviaste, por lo que agradezco tu atención), y no queda...help please...¡¡

Sub REGFOSCP04()
'
' REGFOSCP04 Macro
' TC J MARTIN PACHECO PEÑA, PAPM641028D65
'

'
Sheets("FO-SCP-04 (EDIT)").Select
Sheets("BD_FOSCP04").Visible = True
Sheets("FO-SCP-04 (EDIT)").Select
ActiveWindow.SelectedSheets.Visible = False
Range("A7").Select
Selection.ListObject.ListRows.Add (1)
Cells.Select
Range("A4").Activate
Selection.EntireRow.Hidden = False
Range("A2:AK2").Select
Selection.Copy
Range("A7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:3").Select
Selection.EntireRow.Hidden = True
Range("Tabla2[[#Headers],[FECHA DE REGISTRO]]").Select
Sheets("BD_FOSCP04").Select
Sheets("FO-SCP-04").Visible = True
Sheets("FO-SCP-04").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("BD_FOSCP04").Select
Sheets("FO-SCP-04 (EDIT)").Visible = True
Sheets("BD_FOSCP04").Select
ActiveWindow.SelectedSheets.Visible = False
Range("P8:W8").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("AJ8:AN8").Select
Selection.ClearContents
Range("AE10:AN10").Select
Selection.ClearContents
Range("Q18:X18").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=12
Range("B23").Select
Selection.ClearContents
Range("B25").Select
Selection.ClearContents
Range("B27").Select
Selection.ClearContents
Range("B29").Select
Selection.ClearContents
Range("B31").Select
Selection.ClearContents
Range("B33").Select
Selection.ClearContents
Range("B35").Select
Selection.ClearContents
Range("B37").Select
Selection.ClearContents
Range("B39").Select
Selection.ClearContents
Range("B41").Select
Selection.ClearContents
Range("B43").Select
Selection.ClearContents
Range("B45").Select
Selection.ClearContents
Range("B47").Select
Selection.ClearContents
Range("B49").Select
Selection.ClearContents
Range("R43:Y43").Select
Selection.ClearContents
Range("O45:S45").Select
Selection.ClearContents
Range("U45").Select
Selection.ClearContents
Range("AJ45:AN46").Select
Selection.ClearContents
Range("Z23").Select
Selection.ClearContents
Range("Y27:AN35").Select
Selection.ClearContents
Range("M49:AA50").Select
Selection.ClearContents
Range("I54").Select
Selection.ClearContents
Range("X54").Select
Selection.ClearContents
Range("I56:AN58").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=12
Range("C62:Q62").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-45
Range("J14").FormulaR1C1Local = "=SI(ESERROR(BUSCARV($AJ$8,[SIROKI_V.20.19.xlsm]BD_BANCOS!$I$13:$K$10000,3,FALSO)),"",BUSCARV($AJ$8,[SIROKI_V.20.19.xlsm]BD_BANCOS!$I$13:$K$10000,3,FALSO))"
Range("P8:W8").Select
End Sub

[Hola nuevamente:

Sugiero releer nuevamente el enlace, quizá con un poco más de paciencia.

No es lo mismo:

Range("J14"). FormulaR1C1Local

Que

Range("J14"). FormulaLocal

Otra cosa, si deseas hacer tu macros más eficiente mira este artículo:

https://abrahamexcel.blogspot.com/2017/12/el-uso-y-abuso-de-select-y-selection-en.html 

Saludos]

Abraham Valencia

Respuesta
1

Sub Botón1_Haga_clic_en()
' Botón1_Haga_clic_en Macro
Range("J14").Select

ActiveCell.Formula = "AQUÍ DEBES COLOCAR TU FORMULA"

Range("J14").Select
End Sub

Hola gracias por atender mi llamado, inserte un modulo y copie tu código, cambiando la fórmula a como la necesito, y aun así no resulto, te pregunto, ¿sera qué el problema es que la función "buscarv" debe buscar en una base de datos que esta en otro libro...?

Me he fijado que ti fórmula esta realizando la búsqueda en otros libros externos donde tienes unas bases de datos, revisa bien el redireccionamiento de los mismos, puedes probar el funcionamiento de la rutina que te envíe, con una fórmula sencilla como por ejemplo =SUMA(2+2) y allí veras el resultadom si te coloca en J14 el resultado 4, entonces la rutina funciona, en ese caso debes revisar tu fórmula, por ultimo fíjate que tu ordenador tenga la función BUSCARV esta esta activa en el Service Pack 1

Buenos días, estoy de regreso, una vez que probé tu sugerencia me lanza el siguiente resultado en la celda que quiero poner la fórmula:

=BUSCARV(AJ8,BD_BANCOS!I13:K100000,3,'FALSO')

el falso me lo pone entre " ' ", apostrofes, así pegue tu sugerencia:

Sub Botón1_Haga_clic_en()
' Botón1_Haga_clic_en Macro
Range("J14").Select
ActiveCell.Formula = "=BUSCARV(AJ8,BD_BANCOS!I13:K100000,3,FALSO)"
Range("J14").Select
End Sub

Sustituye la instrucción FALSO por el numero 0

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas