Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro sumar y multiplicar

publicado

Buenos días.

Tengo el siguiente Macro.

col = 5: uFila = Cells(Rows.Count, col).End(xlUp).Row

datos = Cells(1, col).Resize(uFila).Address

On Error GoTo 0

Names.Add "sumar", "=if(" & datos & "=""INICIO"",row(" & datos & "))"

Names.Add "final", "=if(" & datos & "=""FINAL"",row(" & datos & "))"

Application.ScreenUpdating = False

For n = 1 To [count(sumar)]

fila1 = Evaluate("small(sumar," & n & ")") + 1

fila2 = Evaluate("small(final," & n & ")") - 1

grupo = Cells(fila1, col).Address(0, 0) & ":" & Cells(fila2, col).Address(0, 0)

Cells(fila1 - 1, col + 1).Formula = "=sum(" & grupo & ")"

Next: Names("sumar").Delete: Names("final").Delete

Lo que hace es buscar en una columna la palabra INICIO y me genera una suma de las celdas que quedan entre la palabra INICIO y FINAL

El asunto es que necesito que me genere esa misma suma, pero que a la vez me multiplique por una celda de la misma fila donde se encuentra la palabra Inicio.

Cuelgo un ejemplo, a ver si me podéis ayudar.

Gracias!

Ejemplo.rar

Featured Replies

publicado

Añade estas 2 líneas:


Cells(fila1 - 1, col + 3).Formula = "=sum(" & grupo & ")" & _
"*" & Cells(fila1 - 1, col - 3).Address(False, False)
[/CODE]

publicado

Por favor, alguien puede explicar la expresión: [count(sumar)]

¿Cómo se interpreta los corchetes?

Esta expresión esta en el código del presente tema en cuestión, en todo caso ¿Cuál sería la otra forma de expresarlo en VBA?

publicado
  • Autor
Añade estas 2 líneas:


Cells(fila1 - 1, col + 3).Formula = "=sum(" & grupo & ")" & _
"*" & Cells(fila1 - 1, col - 3).Address(False, False)
[/CODE]

Lo primero, muchas gracias por responder...

Estoy intentando añadirlo y me sale si sustituyo la penúltima línea, pero si quiero añadir otra operación? Cómo podría hacerlo?

Por ejemplo, quiero que el macro, después de añadir la suma del grupo, después añada (B5/D5)

Y se quede la fórmula "=Suma(E6:E8)*(B5/D5)"

¿Sería así:?(Entiendo que no, porque me da error...

Cells(fila1 - 1, col + 3).Formula = "=sum(" & grupo & ")" & _ "*" & Cells(fila1 - 1, col - 3) & _ "/" & Cells(fila1 - 1, col -1).Address(False, False)

Si hago eso me da un fallo y me coloca la siguiente fórmula:

=Suma(E6:E8)*0/D5

¿Cómo podría ponerlo?

Muchas gracias!

publicado

[uSER=183630]@JIMMYRUNA[/uSER]

No se debe intervenir en temas promovidos por otros usuarios como no sea para aportar alguna solución.

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.