Excel - Consulta Macro Excel 2010

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Consulta Macro Excel 2010

Publicado por Mariano (1 intervención) el 21/02/2018 19:52:34
Hola Buenas Tardes les comento que estoy haciendo una Macro basada en un reporte de datos que nos genera el sistema de control de accesso de nuestros Empleados en la empresa que trabajo.

En el mismo listado el reloj me trae valores que, si bien se encuentran correctamente reflejados, la encargada de recursos humanos no es capaz de entenderlos con "claridad" ya que los empleados se quejan al ver ciertos valores...

Les Muestro una foto de un ejemplo de planilla en cuestión:

PlanillaHorario

Yo en este ejemplo borre los valores de las columnas "Tiempo Extra" y "Tiempo Cumplido" pero usualmente cuando ella exporta esos valores se encuentran en la planilla...

A partir de estos valores yo comencé a hacer un Macro para poder calcular cada uno de los valores que muestra esta planilla.

-Llegada Tarde

-Salida Temprano

-Tiempo Extra (aunque lo muestre como dije antes lo calculo ya que quiere que se vea la resta entre Salida el Horario de Salida restando llegada tarde ya que el sistema de reloj lo único que hace es mostrarte cuanto fue el tiempo extra que el empleado tuvo)

-Tiempo Trabajado (Que es el resultado entre la salida - entrada + tiempo extra)

El código que usa el macro es el siguiente:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Private Sub CommandButton1_Click()
 
Application.ScreenUpdating = False
 
Dim nume_regi As Integer
Dim i As Integer
Dim HEntrada As Date
Dim HSalida As Date
Dim Entrada As Date
Dim Salida As Date
Dim LlegaTarde As Date
Dim SaleTemprano As Date
Dim TiempoExtra As Date
Dim TiempoCumplido As Date
Dim ExtraTotal As Date
 
Range("A2").Select
 
nume_regi = Range("A1").End(xlDown).Row - 1
 
For i = 1 To nume_regi
 
    HEntrada = Cells(2 + i, 6)
    HSalida = Cells(2 + i, 7)
    Entrada = Cells(2 + i, 8)
    Salida = Cells(2 + i, 9)
    'Cells(2 + i, 12) = "" 'Borro lo que esta en TiempoExtra'
    'Cells(2 + i, 13) = "" 'Borro lo que esta en TiempoTrabajado'
 
    If Entrada > HEntrada Then
 
        LlegaTarde = HEntrada - Entrada
 
        Cells(2 + i, 10) = LlegaTarde
    Else
 
        LlegaTarde = "0" 'Aca quiero que me aparezca 0 y me muestra como valor 12:00 a.m
 
        Cells(2 + i, 10) = LlegaTarde
 
    End If
 
    If Salida < HSalida Then
 
        SaleTemprano = HSalida - Salida
 
        Cells(2 + i, 11) = SaleTemprano
    Else
 
        SaleTemprano = "0" 'idem arriba
 
        Cells(2 + i, 11) = SaleTemprano
 
    End If
 
    TiempoExtra = HSalida - HEntrada - LlegaTarde - SaleTemprano
 
    Cells(2 + i, 12) = TiempoExtra
 
    ExtraTotal = ExtraTotal + TiempoExtra
 
    TiempoCumplido = HSalida - HEntrada - TiempoExtra
 
    Cells(2 + i, 13) = TiempoCumplido
 
Next i
 
Cells(6, 15) = ExtraTotal ' Aca se calcula la cantidad de horas extras'
 
Application.ScreenUpdating = True
 
End Sub

Otra cosa al exportar el archivo los valores de las columnas Horario Entrada y Horario Salida me figuran como valor tipo texto y para que me tome la macro tengo que apretar la tecla ENTER hay una forma como para que de una me tome los horarios??

Me gustaria saber donde estoy errando y de que manera podria mejorar este codigo para poder hacer lo que necesito..

Muchas Gracias!
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