# Función sumar.si en Visual Basic

[Inicio](https://www.todoexpertos.com/) › [Visual Basic](https://www.todoexpertos.com/temas/visual-basic) › [Programación](https://www.todoexpertos.com/temas/programacion)

- Fecha de publicación: 2017-07-11
- Enlace canónico (HTML): https://www.todoexpertos.com/preguntas/7xrk68melkf6dc3g/funcion-sumar-si-en-visual-basic

## Pregunta

*Por Emilio  Galicia* · 2017-07-11

Tengo la siguiente tablaNecesito en la columna Peso Total sumar el total de peso de cada línea tomando como condición el número de Pedido, así en la primera fila el valor de la celda en la columna peso total tiene que ser ocho, en las dos siguientes el valor de la celda en la columna Peso Total 16 (ya que el valor en la fila Pedido es 32), y así en el resto de filas.

## Respuestas (1)

### 1. Respuesta aceptada de Juan Cosceri
*Fecha: 2017-07-11 · Votos: 2 (+2/-0)*

Te envío la macro sujeto a tu solicitud. Por favor recuerda valorar la respuesta!SldsSub Macro1()'' Macro1 Macro'Set Tool = Workbooks(ActiveWorkbook.Name)Set SH1 = Sheets("Hoja1")LastRow = SH1.Cells(SH1.Rows.Count, "A").End(xlUp).RowSH1.Activate SH1.Range("B2:B" & LastRow).Value = "=SUMIFS(C[2],C[-1],RC[-1])"End Sub

Me ha resultado muy útil, solo un detalle por si fuese posible.La macro después de hacer los cálculos deja en la columna Peso Total el resultado correcto, pero con fórmula en la celda. Como habría que hacer para que después de realizar las operaciones en la celda quedase solo el valor, sin la formula.

Perfecto, Agregale al final:SH1.Range("B2:B" & LastRow).Value = SH1.Range("B2:B" & LastRow).ValueEso va a pegar como valores los resultados de toda la Columna.Cualquier consulta adicional chifla.Por favor recuerda valorar la respuesta!SldsJuan

---
*Fuente: [https://www.todoexpertos.com/preguntas/7xrk68melkf6dc3g/funcion-sumar-si-en-visual-basic](https://www.todoexpertos.com/preguntas/7xrk68melkf6dc3g/funcion-sumar-si-en-visual-basic) — consultado el 2026-10-21. Al citar, enlaza la URL canónica e indica la fecha de consulta.*
