Duda sobre fórmula de módulo en visual basic utilizando Microsoft Excel

Mira lo que me pasaste de los macros anda perfectamente y te agradezco un tocaso, me sirvió mucho. Ahora quiero desafiar tus conocimientos ja ja sabes que quiero saber si se puede hacer :
visTe que con la fórmula que puse en el modulo de visual basic, que anda bien bueno ahí me pone la primer hora después la segunda y la diferencia, ahora se puede hacer que esa diferencia
me tire un precio en pesos donde 1 hora es igual a $1 . Es decir que`por ejemplo 0.15 consumió me tire 0.25 centavos .Ahora lo que necesito que de vez de 0:15 sea hasta 0:18 minutos y ahí tire 0.25, después por ejemplo debes de ser 0:50 sea hasta 0:53 siempre con esa tolerancia que es lo que yo le doy a las maquinas desde que le aviso hasta que cirran todos los programas o sea que estoy fraccionado de a 0:¿18 minutos TE LA COMPIQUE MUCHO?
Ja ja bueno si sabe como hacerlo te lo voy agradecer .
Desde ya muchas gracias y un abrazo enorme
Daniel

1 Respuesta

Respuesta
1
¿Desduzco qué toda esta milonga es para un cyber Ah?
Bueno acá va:
Reemplaza la macro...
Sub Ver_Tiempo()
por esta otra que tiene el mismo nombre...
Sub Ver_Tiempo()
Application.ScreenUpdating = False
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = "h:mm:ss;@"
ActiveCell.Offset(0, 1).Activate
ActiveCell.NumberFormat = "0"
ActiveCell.FormulaR1C1 = "=(RC[-2]-RC[-3])*1440"
Application.ScreenUpdating = True
End Sub
... Ahora además del tiempo al lado de recho te muestra la cantidad de minutos,
En otra columna, que podría se la inmediata derecha ingresá esta fórmula:
=D2-3
Donde "D2" debe ser la celda en donde muestra la cantidad de minutos y al valor de "D2" le resta el tiempo de tolerancia que le das al cliente, en este caso 3 minutos y obvio que tenés que hacer otra donde calcue los minutos a facturar o cobrar por el importe de 1 minuto.
Suerte, no olvides finalizar y valorar la respuesta.
Hasta la próxima.
Claro ahí va bárbaro el tema es como hago la otra que calcule el importe a facturar y y donde lo hago, ayudame la ultima capo
Si es para tres maquinistas que tengo con servicio de internet, y yo lo llevaba anotando en un cuaderno pero así con un planillita es mucho más sencillo y como no tengo el dinerro para poner un servidor con esos programa del tiempo Entonces me las arreglo con esto
Muchas gracias
Pero laburá un poquito vos también, que son respuestas muy largas y además aprendés.
Cambia otra vez la macro por esta.
Sub Ver_Tiempo()
Application.ScreenUpdating = False
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = "h:mm:ss;@"
ActiveCell.Offset(0, 1).Activate
ActiveCell.NumberFormat = "0"
ActiveCell.FormulaR1C1 = "=(RC[-2]-RC[-3])*1440"
'Establece que: si el valor del tiempo
' de uso de la compu., es mayor a cuatro minutos
'teniendo en cuenta que le resta 3 minutos de
'tolerancia, en el peor de los casos quedaría
'1 minuto, de lo contrario te arrojaría
'un importe negativo. Si no es así se detiene
'te mostrará textos que designe y podrás cambiar...
If ActiveCell.Value > 4 Then 'Este número debe ser uno más que el tiempo de tolerancia.
ActiveCell. Offset(0, 1).Activate
'Acá pone el tiempo de tolerancia yo
'puse que reste 3 (-3) pero podes
'poner lo que quieras.
ActiveCell.FormulaR1C1 = "=RC[-1]-3" 'Tiempo de tolerancia
ActiveCell.Offset(0, 1).Activate
ActiveCell.NumberFormat = "0.00"
'Acá el valor de la hora yo puse 1.5 pero podes
'poner lo que quieras y lo divide sobre
'60 para sacar el valor del minuto y lo
'multiplica por la cantidad de minutos
'que se utilizó la computadora para
'mostrar el total del importe a cobrar
ActiveCell.FormulaR1C1 = "=RC[-1]*(1.5/60)"
Application.ScreenUpdating = True
Else
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = "Cero Minuto" '...texto a cambiar
ActiveCell.Offset(0, 1).Activate '...texto a cambiar
ActiveCell.Value = "Sin cargo"
End If
End Sub
Tené presente que el importe y los tiempos en minutos se redondean
porque no vas a cobrar 728.17 minutos, sería 728 o 729.
No olvides finalizar y valorar la pregunta. Hasta la próxima.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas