Macro para insertar fórmula local

Intento ingresar una fórmula local y no he dado con el resultado. Favor su apoyo, adjunto código usado y no funciona, gracias.

Private Sub CommandButton2_Click()
Set h = Sheets("Report")
    Set r = h.Columns("A")
f = 2
Do Until h.Cells(f, 1) = ""
If h.Cells(f, 2) = "" Then GoTo siguiente
h.Cells(f, "J").FormulaLocal = "=SI(MAX(J:J)="",1,MAX(J:J)+1)"
siguiente:
f = f + 1
Loop
UserForm2.Show
End Sub

1 respuesta

Respuesta
1

Hol.a

Colócalo así:

"=SI(MAX(J:J)="""",1,MAX(J:J)+1)"

Salu2

Abraham Valencia

Estimado Abraham Valencia no funciona la fórmula. Tal vez porque olvide mencionar que la aplico en una columna con filtros. Oh tal vez, porque se coloca la fórmula y no queda el resultado fijo.

Te agradecería me ayudes.

Gracias.

Hol.a

Primero que nada, tal cual tú lo has puesto siempre insertará esto en todas las celdas:

=SI(MAX(J:J)="",1,MAX(J:J)+1)

Si eso no es lo que quieres ¿cómo deseas que quede? Y segundo ¿solo en las celdas visibles?

Salu2 desde Lima

Abraham Valencia

Necesito que solo se aplique a las celdas visibles.

Necesito que quede así, ejemplo:

1° Si la columna B tiene valores, que inserte 1 en todas las celdas visibles de la columna "J"

2° Cuando vuelva a ejecutar una macro para insertar datos en la columna B, que inserte 2 en todas las celdas visibles de la columna "J", siempre y cuando el valor máximo es 1 en la columna J.

3° Cuando vuelva a ejecutar una macro para insertar datos en la columna B, que inserte 3 en todas las celdas visibles de la columna "J", siempre y cuando el valor máximo es 2 en la columna J.

...así sucesivamente.

Espero me haya explicado bien.

Te agradezco de antemano por las enseñanzas.

Private Sub CommandButton2_Click()
    Set h = Sheets("Report")
    Set r = h.Columns("A")
f = 2
Do Until h.Cells(f, 1) = ""
If h.Cells(f, 2) = "" Then GoTo siguiente
h.Cells(f, "J").FormulaLocal = "=SI(MAX(J:J)="""",1,MAX(J:J)+1)"
siguiente:
f = f + 1
Loop
UserForm2.Show
End Sub

Trato de entenderte pero es medio complicado. ¿En qué momento insertas datos? ¿En qué momento filtras? ¿Entonces lo que quieres no es insertar una fórmula sino un número? Eso último entonces, a diferencia de la macro que enviaste, ¿debe insertarse cuando a su vez insertas datos? ¿En las celdas de la columna "B" entonces ¿a veces no hay nada? etc.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas