Macro para Copiar una fórmula

Tengo esta macro

Sub AA()

Activecell = "=Si("C1<>"";E1;"")"

Acti

End sub

Lo que sucede que cuando la ejecutó me marca error NOMBRE como lo corrijo.

3 Respuestas

Respuesta

[Hola

Para comenzar sugiero dar una leidita  esto:

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

Saludos]

Abraham Valencia

Abraham ya leí lo que me mandaste ahora la hago de esta forma

Sub AA()
Range("A1").FormulaLocal = "=SI(C1<>"";D1;"")"

End Sub

Y me tira error 1004 en tiempo de ejecución

[Hola nuevamente

Para insertar comillas, hay que ponerlas entre comillas a su vez, je je je:

Range("A1").FormulaLocal = "=SI(C1<>"""";D1;"""")"

Saludos]

Abraham Valencia

ja ja no sabia, perdón mi ignarancia gracias abraham

El VBA es así, medio antipático a veces, je je je.

Saludos]

Abraham Valencia

Abraham me quedo algo por peguntar, necesitaría y es importante que la fórmula cuando se pegue en la celda no sea absoluta sino relativa es decir

 Range("A1")."=SI(C1<>"""";D1;"""")"
 Range("A10")."=SI(C10<>"""";D10;"""")"
 Range("A13")."=SI(C13<>"""";D13;"""")"
etc...

[Hola nuevamente

Esto es una referencia absoluta: $A$1

Esto es una referencia relativa: A1

Esto es una referencia mixta: $A1 o A$1

Basta que la pongas tal cual deseas cuando insertar las fórmulas ¿eso era?

Abraham Valencia

No me exlique mal perdona, el tema es el siguiente esta es una macro que se ejecuta al presionar enter

Es decir si estoy en A1 al presionar enter

Range("A1").formulaLocal"=SI(C1<>"""";D1;"""")"

pero si estoy en A40 me pega lo mismo me explico y necesito que me pegue esto

Range("A40").formulaLocal"=SI(C40<>"""";D40;"""")"

Que seria como si estuviera en la hoja y arratro para copiar la fórmula

Un modo de hacerlo con una sola línea, es el siguiente:

activecell.FormulaR1C1Local = "=SI(FC[2]<>"""";FC[3];"""")"

Claro, ahí asumo que tu celda activa siempre estará en la columna A.

Abraham Valencia

lo que me mandaste me tira error cuando la ejecuto

¿Qué error? ¿En qué idioma está tu Office? ¿Corriste esa línea cuando el cursor (celda activa) estaba en una celda de la columna A? ¿?

Abraham Valencia

En español y la ejecute posicionado en la columna A

¿Qué error te da? ¿Estás seguro que es en esa línea? ¿Qué más hay en esa macro? ¿Tu separador de lista es "coma" o "punto y coma"?

Abraham Valencia

Respuesta

Esta es la macro corregida solo cambia las comas por ; (en caso de error)

Sub AA()
ActiveCell.FormulaLocal = "=Si(C1<>" & """""" & ",E1,1)"
End Sub

O usa esta macro

Sub AA()
ActiveCell.FormulaLocal = "=Si(C1<>" & """""" & ",E1," & """""" & ")"
End Sub
Respuesta

Este ejemplo es para autorellenar

https://macrosenexcel.com/2014/08/macro-para-autorrellenar-datos-autofill.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas