Totalizar
Hola como estas, te hago esta consulta ya que la pregunte en Excel pero no he podido encontrar respuesta satisfactoria, la cuestión es la siguiente, en este programa yo anexe "totalgastos" y "totalcobros" para que se sumen, pero lo hice mal ya que no cumple con lo previsto, ademas tengo un error en costoCU que debe ser el promedio, y no la sums, espero me puedad ayudar, si quieres te puedo mandar el archivo de excel para que lo entiendas mejos, gracias...
Sub totalizar()
'Declarar variables
Dim Mtotalgastos(26) As Long
Dim Mtotalcobros(26) As Long
Dim Mexistencias(26) As Long
Dim Mentrantes(26) As Long
Dim MsalientesP(26) As Long
Dim MsalientesF(26) As Long
Dim McostoCU(26) As Long
Dim McostoTotales(26) As Long
Dim rango As Long
Dim n As Long
Dim SfechaDesde As String
Dim SfechaHasta As String
Dim SfechaConsulta As String
'Inicializar variables
For i = 1 To 26
Mtotalgastos(i) = 0
Mtotalcobros(i) = 0
Mexistencias(i) = 0
Mentrantes(i) = 0
MsalientesP(i) = 0
MsalientesF(i) = 0
McostoCU(i) = 0
McostoTotales(i) = 0
Next i
SfechaDesde = Cells(7, 6)
SfechaHasta = Cells(7, 8)
SfechaConsulta = Cells(46, 6)
rango = 34
n = 0
'Inicio Procedimiento
While (SfechaConsulta <> "")
If ((SfechaConsulta <= SfechaHasta) And (SfechaConsulta >= SfechaDesde)) Then
For i = 1 To 26
Mtotalgastos(i) = Mtotalgastos(i) + Cells(46 + n)
Mtotalcobros(i) = Mtotalcobros(i) + Cells(47 + n)
Mexistencias(i) = Mexistencias(i) + Cells(54 + n * rango, i + 3)
Mentrantes(i) = Mentrantes(i) + Cells(55 + n * rango, i + 3)
MsalientesP(i) = MsalientesP(i) + Cells(56 + n * rango, i + 3)
MsalientesF(i) = MsalientesF(i) + Cells(57 + n * rango, i + 3)
McostoCU(i) = McostoCU(i) + Cells(60 + n * rango, i + 3)
McostoTotales(i) = McostoTotales(i) + Cells(61 + n * rango, i + 3)
Next i
End If
n = n + 1
SfechaConsulta = Cells(46 + n * rango, 6)
Wend
'Imprimir Valores
For i = 1 To 26
Cells(7, 3) = Mtotalgastos(i)
Cells(8, 3) = Mtotalcobros(i)
Cells(15, 3 + i) = Mexistencias(i)
Cells(16, 3 + i) = Mentrantes(i)
Cells(17, 3 + i) = MsalientesP(i)
Cells(18, 3 + i) = MsalientesF(i)
Cells(21, 3 + i) = McostoCU(i)
Cells(22, 3 + i) = McostoTotales(i)
Next i
End Sub
Sub totalizar()
'Declarar variables
Dim Mtotalgastos(26) As Long
Dim Mtotalcobros(26) As Long
Dim Mexistencias(26) As Long
Dim Mentrantes(26) As Long
Dim MsalientesP(26) As Long
Dim MsalientesF(26) As Long
Dim McostoCU(26) As Long
Dim McostoTotales(26) As Long
Dim rango As Long
Dim n As Long
Dim SfechaDesde As String
Dim SfechaHasta As String
Dim SfechaConsulta As String
'Inicializar variables
For i = 1 To 26
Mtotalgastos(i) = 0
Mtotalcobros(i) = 0
Mexistencias(i) = 0
Mentrantes(i) = 0
MsalientesP(i) = 0
MsalientesF(i) = 0
McostoCU(i) = 0
McostoTotales(i) = 0
Next i
SfechaDesde = Cells(7, 6)
SfechaHasta = Cells(7, 8)
SfechaConsulta = Cells(46, 6)
rango = 34
n = 0
'Inicio Procedimiento
While (SfechaConsulta <> "")
If ((SfechaConsulta <= SfechaHasta) And (SfechaConsulta >= SfechaDesde)) Then
For i = 1 To 26
Mtotalgastos(i) = Mtotalgastos(i) + Cells(46 + n)
Mtotalcobros(i) = Mtotalcobros(i) + Cells(47 + n)
Mexistencias(i) = Mexistencias(i) + Cells(54 + n * rango, i + 3)
Mentrantes(i) = Mentrantes(i) + Cells(55 + n * rango, i + 3)
MsalientesP(i) = MsalientesP(i) + Cells(56 + n * rango, i + 3)
MsalientesF(i) = MsalientesF(i) + Cells(57 + n * rango, i + 3)
McostoCU(i) = McostoCU(i) + Cells(60 + n * rango, i + 3)
McostoTotales(i) = McostoTotales(i) + Cells(61 + n * rango, i + 3)
Next i
End If
n = n + 1
SfechaConsulta = Cells(46 + n * rango, 6)
Wend
'Imprimir Valores
For i = 1 To 26
Cells(7, 3) = Mtotalgastos(i)
Cells(8, 3) = Mtotalcobros(i)
Cells(15, 3 + i) = Mexistencias(i)
Cells(16, 3 + i) = Mentrantes(i)
Cells(17, 3 + i) = MsalientesP(i)
Cells(18, 3 + i) = MsalientesF(i)
Cells(21, 3 + i) = McostoCU(i)
Cells(22, 3 + i) = McostoTotales(i)
Next i
End Sub
1 respuesta
Respuesta de Roberto Alvarado
-1