Visual Basic para Aplicaciones - Promedio minutos MSFlexGrid1

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 35 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Promedio minutos MSFlexGrid1

Publicado por Juan Diego (2 intervenciones) el 29/03/2018 00:11:45
Hola,

Soy principiante y estoy desarrollando una apliccion en visual basic 6,, estoy intentadno sacar el promedio de minutos de un campo MSFlexGrid1, en formato "hh:mm:ss"... este codigo lo utilzo en otra apliacion con numeros y me funciona bien pero con minutos no consigo pasar el resultado a minutos... he probado de varias maneras y no lo consigo...alguien me puede echar un cable?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public total01 As Variant
Public PromTPru As Variant
 
total01 = "00:00:00"
total01 = Format(TimeValue(total01), "hh:mm:ss")
PromTPru = "00:00:00"
PromTPru = Format(TimeValue(PromTPru), "hh:mm:ss")
 
MSFlexGrid1.Col = 7
i = 0
For n = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = n
i = 1 + i
total01 = TimeValue(total01) + TimeValue(MSFlexGrid1)
Next n
PromTPru = total01 \  i
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 3
Ha disminuido su posición en 35 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Promedio minutos MSFlexGrid1

Publicado por Juan Diego (2 intervenciones) el 02/04/2018 21:10:39
Bueno al final lo he conseguido...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Sub SeparadorHHMMSS()
Dim cadena As String
Dim i As Integer
Dim lugar As Integer
Dim separador As String
Dim Dis(0 To 2) As String
 
separador = ":"
        cadena = total01
        i = 0
        lugar = InStr(cadena, separador)
        Do While lugar <> 0
        Dis(i) = Left(cadena, lugar - 1)
        Horas = Dis(0)
        cadena = Mid(cadena, lugar + 1)
        i = i + 1
        lugar = InStr(cadena, separador)
        Loop
        Dis(i) = cadena
        Horas = Dis(0) 'Separamos horas
        Minutos = Dis(1) 'Separamos minutos
 
End Sub
 
total01 = "00:00:00"
total01 = Format(TimeValue(total01), "hh:mm:ss") 'Promedio Of.
 
frmConsulta.MSFlexGrid1.Col = 7 'obtenemos los registros del campo seleccionado (Tpru)
i = 0
For n = 1 To frmConsulta.MSFlexGrid1.Rows - 1
	frmConsulta.MSFlexGrid1.Row = n
	i = 1 + i
	total01 = TimeValue(total01) + TimeValue(frmConsulta.MSFlexGrid1)
Next n
 
SeparadorHHMMSS 'Separamos los horas, minutos 
 
PromMin = (Val(Horas * 60) + Val(Minutos)) \ i 'Calculamos el promedio en minutos
Horas1 = Val(PromMin \ 60) 'pasamos los minutos a horas para el formato hh:mm:ss
Minutos1 = (Val(PromMin) - Val(Horas1) * 60) 'obtenemos el resto de minutos para el formato hh:mm:ss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad