Error 13 en tiempo de ejecución (No coinciden los tipos)
Publicado por Eduardo (7 intervenciones) el 20/09/2018 17:18:58
Hola buen día,
Al correr este código de macro me aparece el error 13 y resalta la parte que puse entre *. La tabla que analiza tiene el formato de fecha, no se si hay que cambiar el formato o por que da el error de tipo
Al correr este código de macro me aparece el error 13 y resalta la parte que puse entre *. La tabla que analiza tiene el formato de fecha, no se si hay que cambiar el formato o por que da el error de tipo
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
Sub Paciente()
Worksheets("Calendario").Select
' Configuración de variables de entrada
Dim FiltrarServicio
Dim FiltrarAnio
FiltrarServicio = Range("C42")
FiltrarAnio = Range("H42")
Dim FilaServicio As Integer
ColumnaServicio = 1
If Range("C42") <> "" Then
' Determina de donde va a extraer los Datos
Worksheets("Paciente").Select
Worksheets("Paciente").ListObjects("DiaPaciente").DataBodyRange.Select
'Configuracion de escritura en el calendario
Dim FilaInicial As Variant
FilaInicial = Array(7, 13, 18, 23, 28, 33, 38)
Dim ColumnaInicial As Integer
ColumnaInicial = 2
Dim contador
contado = 1
' Crea un arreglo para almacenar los valores de todo el calendario
Dim A(12, 31) As Integer
' Recoore toda la tabla
For Each Table In Selection.Rows
****************** dia = Day(Table.Cells(1))
mes = Month(Table.Cells(1))
anio = Year(Table.Cells(1)) ****************
' Verifica si los valores coinciden, aumenta el contador del arreglo
If (Table.Cells(ColumnaServicio) = FiltrarServicio) And (anio = FiltrarAnio) Then
A(mes, dia) = A(mes, dia) + 1
If (anio = 2017 And mes = 2) Then
' MsgBox A(mes, dia) & " - " & dia & " " & mes & " " & anio & " " & Table.Cells(ColumnaCampus) & " " & Table.Cells(ColumnaQuirofano)
End If
End If
Next
' Se posiciona en la hoja del reporte
Hoja1.Select
' Recorre y establece en el calendario
For Meses = 1 To 12
primerdia = DateSerial(Cells(3, 31), Meses, 1)
ultimoDia = DateSerial(Cells(3, 31), Meses + 1, 0)
' MsgBox primerDia & " - " & Weekday(primerDia) - 1 & " - " & ultimoDia & " - " & Day(ultimoDia)
For Dias = 1 To Day(ultimoDia)
' Variables de posisión para escritura
Fila = FilaInicial(Meses)
columna = ColumnaInicial + (Dias - 1) + (Weekday(primerdia) - 1)
' MsgBox Meses & " - " & Dias & " : " & Fila & " - " & columna & " Valor: " & A(Meses, Dias)
Cells(Fila, columna) = A(Meses, Dias)
Next
Next
Else
MsgBox "Error"
End If
End Sub
Valora esta pregunta
0