Excel - error 1004 en tiempo de ejecucion

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

error 1004 en tiempo de ejecucion

Publicado por Jose (2 intervenciones) el 18/01/2019 05:30:12
Buenas Amigos, tengo el siguiente problema, trabajando con visual basic (VBA) trae información por rango de fechas. si son hasta 6 meses funciona pero cuando mando traer 8 o mas marca el error de la imagen error-1004.jpg. me pueden ayudar orientándome donde por donde va el error.
error-1004
error-codigo
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
Imágen de perfil de Antoni Masana
Val: 4.161
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

error 1004 en tiempo de ejecucion

Publicado por Antoni Masana (1488 intervenciones) el 18/01/2019 06:56:52
Datos insuficientes.

Es imposible ayudarte con la información que aportas.

-- No sabemos que valen cada una de las variables.
-- No sabemos que intenta comparar el While.
-- No sabemos como tienes definidas las variables.
-- No sabemos que diferencia hay entre tratar 6 moses u 8 meses.
-- No sabemos que formato tienes esas fechas.

Saludos.
\\//_
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
sin imagen de perfil
Val: 3
Ha aumentado su posición en 23 puestos en Excel (en relación al último mes)
Gráfica de Excel

error 1004 en tiempo de ejecucion

Publicado por Jose (2 intervenciones) el 18/01/2019 17:29:01
agrego el código por si les sirve y pueden revisarlo
saludos!!!
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
Option Explicit
Public CN As ADODB.Connection
Public miServidor As String, miUsuario As String, miPass As String, miBDD As String, miEmpresa As String
Public miHoja As Boolean, miDocum As Long
Public Final1 As Integer
Public miConta As Integer
Public miAgente As Integer
 
Dim Fila, Final As Long
 
Private Sub Auto_Open()
    Hoja8.Select
    Call Arranque
End Sub
Public Sub Arranque()
    Dim SQL As String
    Dim Connected As Boolean
    Dim Resp As Long
 
    Hoja8.Select
 
    miServidor = Hoja6.Cells(6, 2).Value
    miUsuario = Hoja6.Cells(7, 2).Value
    miPass = Hoja6.Cells(8, 2).Value
    miHoja = True
 
    Connected = Connect(miServidor, miUsuario, miPass, "CompacWAdmin")
    If Connected Then '1
 
        Call Query_Empresas
        Call Disconnect
 
    Else
 
        Resp = MsgBox("Parametros Incorrectos!!!", vbCritical, "Error")
 
    End If
 
End Sub
Public Sub Principal()
    Dim SQL As String
    Dim Connected As Boolean
    Dim fIni As String, fFin As String
    Dim miAlmacen As Long
 
 
 
    Hoja6.Cells(9, 2).Calculate
    miEmpresa = Hoja6.Cells(5, 2).Value
    miServidor = Hoja6.Cells(6, 2).Value
    miUsuario = Hoja6.Cells(7, 2).Value
    miPass = Hoja6.Cells(8, 2).Value
    miBDD = Hoja6.Cells(9, 2).Value
 
    Connected = Connect(miServidor, miUsuario, miPass, miBDD)
     If Connected Then
 
        Call Query_Ejercicios
        Call Disconnect
 
    Else
 
        MsgBox "No podemos Conectarnos a Ejercicios!"
    End If
 
    Connected = Connect(miServidor, miUsuario, miPass, miBDD)
     If Connected Then
 
        Call Query_Almacenes
        Call Disconnect
 
    Else
 
        MsgBox "No podemos Conectarnos a Ejercicios!"
    End If
 
 
 
'******** Documentos
    miEmpresa = Hoja6.Cells(5, 2).Value
    miServidor = Hoja6.Cells(6, 2).Value
    miUsuario = Hoja6.Cells(7, 2).Value
    miPass = Hoja6.Cells(8, 2).Value
    miBDD = Hoja6.Cells(9, 2).Value
    fIni = Hoja6.Range("B3").Value
    fFin = Hoja6.Range("B4").Value
 
    miHoja = True
    Connected = Connect(miServidor, miUsuario, miPass, miBDD)
    If Connected Then
 
        Call Query_Documentos
        Call Disconnect
        Final = Hoja1.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row 'GetUltimoR(Hoja1)
        For miConta = 2 To Final
            Hoja9.Cells(miConta, 1) = Hoja1.Cells(miConta, 5)
        Next
        ActiveWorkbook.Names.Add Name:="misClientes", RefersTo:=Hoja9.Range("A2:A" & Final)
        Hoja9.Range("misClientes").RemoveDuplicates Columns:=1, Header:=xlNo
 
    Else
 
        MsgBox "No podemos Conectarnos a Documentos!"
    End If
 
 
'******** Movimientos de Traspaso
    Hoja2.Cells.ClearContents
 
    Final1 = Hoja2.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row + 1
 
    Connected = Connect(miServidor, miUsuario, miPass, miBDD)
    If Connected Then
 
        Call Query_Movimientos_Traspasos
        Call Disconnect
 
    Else
 
        MsgBox "No podemos Conectarnos a Movimientos!"
    End If
 
'******** Relaciona los movimientos del almacen del Reporte (Movimientos Ocultos)
    Dim Ren1 As Long, Ren As Long
    Ren1 = 2
    miAlmacen = Hoja6.Cells(12, 2).Value
 
    Final1 = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    For Ren = 2 To Final1
        If Hoja2.Cells(Ren, 6).Value = miAlmacen Then
            If Hoja2.Cells(Ren, 10).Value = 0 Then
                Do While Hoja2.Cells(Ren, 3).Value <> Hoja2.Cells(Ren1, 11).Value
                    Ren1 = Ren1 + 1
                Loop
                Hoja2.Cells(Ren, 14).Value = Hoja2.Cells(Ren1, 6).Value
                Hoja2.Cells(Ren, 15).Value = Hoja2.Cells(Ren1, 5).Value
                Ren1 = 1
            Else
                Do While Hoja2.Cells(Ren, 11).Value <> Hoja2.Cells(Ren1, 3).Value
                    Ren1 = Ren1 + 1
                Loop
                Hoja2.Cells(Ren, 4).Value = Hoja2.Cells(Ren1, 4).Value
                Hoja2.Cells(Ren, 14).Value = Hoja2.Cells(Ren1, 6).Value
                Hoja2.Cells(Ren, 15).Value = Hoja2.Cells(Ren1, 5).Value
                Ren1 = 1
            End If
        End If
    Next
 
 
'******** Productos
    'Ultimo renglon de Productos
    Final = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    'Ciclo para los documentos
    For miConta = 2 To Final
        ' Toma el cid del procuto para buscar clave y nombre
        miDocum = Hoja2.Cells(miConta, 7).Value
 
        Connected = Connect(miServidor, miUsuario, miPass, miBDD)
        If Connected Then
 
            Call Query_Productos
            Call Disconnect
 
        Else
 
            MsgBox "No podemos Conectarnos a Productos!"
        End If
    Next
 
'******** Sustituye el numero del Documento por el cidDocumento
    Final = Hoja1.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
    Final1 = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    For miConta = 2 To Final
        For Ren1 = 2 To Final1
            If Hoja2.Cells(Ren1, 4).Value = Hoja1.Cells(miConta, 1).Value Then
                Hoja2.Cells(Ren1, 1).Value = Hoja1.Cells(miConta, 4).Value
                Hoja2.Cells(Ren1, 4).Value = Hoja1.Cells(miConta, 3).Value
            End If
        Next
    Next
 
 
 
'******** Conceptos
    'Ultimo renglon de Productos
    Final = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    'Ciclo para los documentos
    For miConta = 2 To Final
        Hoja2.Cells(miConta, 2).Value = "Traspaso"
    Next
 
 
'******** Busca el Nombre del Almacen del movimiento oculto
    Final = Hoja4.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    Final1 = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
    For miConta = 3 To Final
        For Ren1 = 2 To Final1
            If Hoja2.Cells(Ren1, 14).Value = Hoja4.Cells(miConta, 3).Value Then
                Hoja2.Cells(Ren1, 14).Value = Hoja4.Cells(miConta, 1).Value
            End If
        Next
    Next
 
 
'******* Genera Reporte de Movimientos ********
    Dim Filas As Long, miConta2 As Long
    Dim miComision As Double, miFactAct As Long, miFactAnt As Long
    Dim Filas_Ini As Long, miTot_Gral As Long
 
    Hoja3.Select
    Hoja3.Range("A8:K2000").ClearContents
 
    Hoja3.Cells(8, 1).Value = "Almacén"
    Hoja3.Cells(9, 1).Value = "Nombre:"
 
    Filas = Hoja4.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
 
    For miTot_Gral = 3 To Filas
        If Hoja4.Cells(miTot_Gral, 3).Value = Hoja6.Cells(12, 2).Value Then
            Hoja3.Cells(8, 2).Value = Hoja4.Cells(miTot_Gral, 1).Value
            Hoja3.Cells(9, 2).Value = Hoja4.Cells(miTot_Gral, 2).Value
        End If
    Next
    Hoja3.Cells(11, 1).Value = "'36        "
    Hoja3.Cells(11, 2).Value = "Traspasos"
    Hoja3.Cells(11, 3).Value = "Traspasos"
 
    Filas = 12
 
    For miTot_Gral = 1 To 13
        Hoja3.Cells(6, miTot_Gral).Font.Bold = True
        'Hoja3.Cells(6, miTot_Gral).HorizontalAlignment = xlCenter
    Next
    miTot_Gral = 0
    Hoja3.Cells(1, 6) = miEmpresa
    Hoja3.Cells(2, 11) = Day(Date) _
        & "/" & Application.VLookup(Month(Date), Range("Mes_corto"), 3, False) _
        & "/" & Year(Date)
    Hoja3.Cells(3, 1) = "Moneda: Peso Mexicano                                                               Del:  " & _
        Mid(fIni, 2, 10) & " al: " & Mid(fFin, 2, 10)
    'Total de Documentos Ultimo renglon de Documentos
    Final = Hoja2.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row 'GetUltimoRm(Hoja2)
    'Ciclo para generar el reporte por Agente
    miAlmacen = Hoja6.Cells(12, 2).Value
    For miConta = 2 To Final
        If Hoja2.Cells(miConta, 14).Value <> "" Then
        ' Ciclo de los movimientos para generar el reporte
        Hoja3.Cells(Filas, 1) = Day(Hoja2.Cells(miConta, 1)) _
        & "/" & Application.VLookup(Month(Hoja2.Cells(miConta, 1)), Range("Mes_corto"), 3, False) _
        & "/" & Year(Hoja2.Cells(miConta, 1))
        Hoja3.Cells(Filas, 2) = Hoja2.Cells(miConta, 2)
        Hoja3.Cells(Filas, 3) = Hoja2.Cells(miConta, 14)
        Hoja3.Cells(Filas, 4) = Hoja2.Cells(miConta, 4)
        Hoja3.Cells(Filas, 6) = Hoja2.Cells(miConta, 7)
        Hoja3.Cells(Filas, 7) = Hoja2.Cells(miConta, 8)
        Hoja3.Cells(Filas, 8) = IIf(Hoja2.Cells(miConta, 15) = 1, 1, -1) * Hoja2.Cells(miConta, 9)
        Hoja3.Cells(Filas, 9) = 0
        Hoja3.Cells(Filas, 10) = IIf(Hoja2.Cells(miConta, 15) = 1, 1, -1) * Hoja2.Cells(miConta, 12)
        Hoja3.Cells(Filas, 11) = IIf(Hoja2.Cells(miConta, 15) = 1, "Entrada", "Salida")
        Filas = Filas + 1
        End If
    Next
    MsgBox "Reporte Generado!"
    Unload frmPrincipal
 
 
End Sub
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