Cómo puedo calcular el análisis porcentual por cuenta discriminando espacios y fórmulas con for next

Para Elsa Matilde

Necesita calcular el porcentaje individual de cada cuenta utilizando las ventas como el 100%, cómo modifico el código:

Asi tiene que quedar:

Sub CalcularPromedio()
  Dim prom As Double, tot As Double
  Dim n As Long
  Dim celda As Range
  '
  For Each celda In Range("E9", Range("E" & Rows.Count).End(3))
    If celda.Value <> "" Then
      If IsNumeric(celda.Value) Then
        If Not celda.HasFormula Then
          n = n + 1
          tot = tot + celda.Value
        End If
      End If
    End If
  Next
  '
  If n > 0 Then
    prom = tot / n
    Range("F9").Value = prom
  End If
End Sub

1 respuesta

Respuesta
1

Qué pena pero parece que no están enviando notificaciones.

Enviame una hoja de ejemplo para reconocer las celdas y verificar la macro.

Así quedaría tu macro. Debes ajustar el inicio de rango (en algunos ejemplos empezás en E9 y en otros en E2. La macro correrá desde la fila siguiente.

Sub CalcularPromedio()
  Dim prom As Double, tot As Double
  Dim n As Long
  Dim celda As Range
  '
  For Each celda In Range("E3", Range("E" & Rows.Count).End(3))
    If celda.Value <> "" Then
      If IsNumeric(celda.Value) Then
        If Not celda.HasFormula Then
            celda.Offset(0, 1) = celda.Value / [E2]
            'Opcional: si la col F no tiene formato % se le asigna en cada pase
            celda.Offset(0, 1).NumberFormat = "0.00%"
        End If
      End If
    End If
  Next
End Sub

Te explico otros detalles en tu libro.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas