Como multiplicar celdas variables VBA

Tengo una hoja de calculo con dos columnas (Columna A y Columna B), que contienen datos, necesito una macro que me multiplique el ultimo valor de la columna A por el ultimo valor de la columna B (A*B) y que el resultado quede en la columna C y además el resultado no puede ser un numero si no la fórmula

Ejemplo A1=2 B1 = 6 la macro me coloca en C1 la respuesta 12 es correcta pero no me sirve por que necesito es la fórmula C1 me tiene que quedar es =A1*B1 por que el valor de B1 cambia por lo tanto el valor de C1 se tiene que actualizar.

Este ejemplo se hizo con la fila 1, pero la macro tiene que tener en cuenta que la fila es variable, aplicar solo a la ultima fila con datos.

2

2 respuestas

Respuesta
1

Esta sería la macro. Entrá al Editor (con atajo Alt y F11), insertá un módulo y allí copiá lo siguiente:

Sub agregaFormula()
'x Elsamatilde
'ultima fila según col A
x = Range("A" & Rows.Count).End(xlUp).Row
'coloca fórmula en col C
    Range("C" & x).FormulaR1C1 = "=RC[-2]*RC[-1]"
'opcional: seleccionar alguna celda
    Range("A" & x).Select
End Sub

Para ejecutarla podes llamarla desde el mismo Editor, o desde la hoja menú Macros , con un botón, o un atajo de teclado..... estos temas los tengo explicados en la sección Macros de mi sitio que dejo al pie.

Respuesta

Más simple aun esta instrucción colocara en la columna C fórmulas en todas aquellas que en la columna a y b tengan datos

y esta es la macro

Sub formular()
With Range("a1").CurrentRegion.Columns(3)
    .ClearContents
    .Formula = "=a1*b1"
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas