• Sábado 20 de Abril de 2024, 02:42

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - joko1220

Páginas: [1]
1
Visual Basic 6.0 e inferiores / Re: error procedimiento demasiado largo
« en: Jueves 17 de Septiembre de 2009, 06:49 »
bueno gracias por la explicacion de las variables y comenze aplicar eso y tengo alguna preguntas

tengo esta variable llamada Varo y esta declarada digamos anivel de formulario.

Código: Visual Basic
  1. Dim VectorItemAvance(1000) As Integer
  2. Dim VectorItemAvanceMO(1000) As Integer
  3. Dim VectorItemAvanceCR(1000) As Integer
  4. Dim VectorItemAvanceIA(1000) As Integer
  5. Dim Varo As Integer
  6. Dim VaroMO As Integer
  7. Dim TempMO As Integer
  8. Dim VaroCR As Integer
  9. Dim TempCR As Integer
  10. Dim VaroIA As Integer
  11. Dim TempIA As Integer
  12. Dim l As Integer
  13. Dim S As Integer
  14. Dim AvanceTMO As Integer
  15. Private ApExcel As Excel.Application
  16.  
  17. Private Sub Form_Load()
  18. Avancepro1
  19. End Sub
  20.  
  21.  
  22.  
  23.  
  24.     Private Sub Avancepro1()
  25.     Dim VarVrTotalItem As Double
  26.     Dim VarPorEjecutado As Double
  27.     'Dim Selection As Object
  28.     'Dim xlGeneral As Object
  29.     Dim ContCantidad As Double
  30.     'bExcel = False
  31.     'Set ApExcel = GetObject(, "Excel.Application") 'Obtiene el objeto aplication de Excel, si no está abierto ocurre un error
  32.  
  33.     Set ApExcel = CreateObject("Excel.application")
  34.     ' Hace que Excel se vea
  35.     'bExcel = True
  36.     ApExcel.Visible = True
  37.     'Agrega un nuevo Libro
  38.     ApExcel.Workbooks.Add
  39.     'Poner Titulos
  40.     ApExcel.Cells(2, 1).Formula = "INGESOFT LTDA - CARBONES DEL CERREJON LIMITED"
  41.     'ApExcel.Cells(3, 1).Formula = "PROY:"
  42.     'ApExcel.Cells(3, 2).Formula = FrmCrearCotizacion.TxtDescripcionCotizacion.Text
  43.     ApExcel.Cells(4, 1).Formula = "CUADRO DE CANTIDADES DE OBRA Y PRECIOS UNITARIOS"
  44.     ApExcel.Cells(5, 1).Formula = "CONTRATO CON-002482007 - CONSTRUCCIÓN OBRAS ELECTRICAS Y SERVICIOS TÉCNICOS AFINES"
  45.     ApExcel.Cells(6, 1).Formula = "TRABAJOS PREDEFINIDOS - TARIFAS POR PRECIOS UNITARIOS"
  46.     ApExcel.Cells(7, 1).Formula = "CENTRO DE COSTO:"
  47.     ApExcel.Cells(7, 3).Formula = FrmCrearCotizacion.TxtCentrodeCosto.Text
  48.     ApExcel.Cells(8, 1).Formula = "No. Orden de trabajo"
  49.     ApExcel.Cells(8, 3).Formula = FrmCrearCotizacion.TxtNoCotizacion
  50.     ApExcel.Cells(8, 5).Formula = "Plazo:"
  51.     ApExcel.Cells(8, 6).Formula = TxtDiasCalendario & " Dias "
  52.     ApExcel.Cells(10, 1).Formula = "Objeto de la Orden:"
  53.     ApExcel.Cells(10, 3).Formula = FrmCrearCotizacion.TxtDescripcionCotizacion.Text
  54.     ApExcel.Cells(11, 1).Formula = "Administrador de la orden de Trabajo:"
  55.     ApExcel.Cells(11, 3).Formula = FrmCrearCotizacion.TxtNombreElaboraCotizacion.Text
  56.     ApExcel.Cells(12, 1).Formula = "Persona que elaboro la cotizacion:"
  57.     ApExcel.Cells(12, 3).Formula = "RICARDO ANTURI"
  58.     'ApExcel.Cells(4, 1).Formula = "COD:"
  59.     'ApExcel.Cells(4, 2).Formula = "IELEC-CAMP"
  60.     'ApExcel.Cells(4, 3).Formula = "FECHA:"
  61.     'ApExcel.Cells(4, 4).Formula = FrmCrearCotizacion.TxtFechaCotizacion.Text
  62.     ApExcel.Columns("A:A").ColumnWidth = 8.43
  63.     ApExcel.Columns("B:B").ColumnWidth = 33.57
  64.     ApExcel.Columns("C:C").ColumnWidth = 8.29
  65.     ApExcel.Columns("D:D").ColumnWidth = 9.71
  66.     ApExcel.Columns("E:E").ColumnWidth = 15.14
  67.     ApExcel.Columns("F:F").ColumnWidth = 17.57
  68.  
  69.     ApExcel.Range("A2:F3").HorizontalAlignment = xlCenter
  70.     ApExcel.Range("A2:F3").VerticalAlignment = xlBottom
  71.     ApExcel.Range("A2:F3").WrapText = False
  72.     ApExcel.Range("A2:F3").Orientation = 0
  73.     ApExcel.Range("A2:F3").AddIndent = False
  74.     ApExcel.Range("A2:F3").IndentLevel = 0
  75.     ApExcel.Range("A2:F3").ShrinkToFit = False
  76.     ApExcel.Range("A2:F3").ReadingOrder = xlContext
  77.     ApExcel.Range("A2:F3").MergeCells = False
  78.     ApExcel.Range("A2:F3").Merge
  79.    
  80.     ApExcel.Range("A4:F4").HorizontalAlignment = xlCenter
  81.     ApExcel.Range("A4:F4").VerticalAlignment = xlBottom
  82.     ApExcel.Range("A4:F4").WrapText = False
  83.     ApExcel.Range("A4:F4").Orientation = 0
  84.     ApExcel.Range("A4:F4").AddIndent = False
  85.     ApExcel.Range("A4:F4").IndentLevel = 0
  86.     ApExcel.Range("A4:F4").ShrinkToFit = False
  87.     ApExcel.Range("A4:F4").ReadingOrder = xlContext
  88.     ApExcel.Range("A4:F4").MergeCells = False
  89.     ApExcel.Range("A4:F4").Merge
  90.    
  91.     ApExcel.Range("A5:F5").HorizontalAlignment = xlCenter
  92.     ApExcel.Range("A5:F5").VerticalAlignment = xlBottom
  93.     ApExcel.Range("A5:F5").WrapText = False
  94.     ApExcel.Range("A5:F5").Orientation = 0
  95.     ApExcel.Range("A5:F5").AddIndent = False
  96.     ApExcel.Range("A5:F5").IndentLevel = 0
  97.     ApExcel.Range("A5:F5").ShrinkToFit = False
  98.     ApExcel.Range("A5:F5").ReadingOrder = xlContext
  99.     ApExcel.Range("A5:F5").MergeCells = False
  100.     ApExcel.Range("A5:F5").Merge'CODIGO DE MATERIALES
  101.    
  102.     Call CodigoMateriales(Varo)
  103.  
pero en este procedimiento:
Código: Visual Basic
  1. Public Function ItenExiste6() As String
  2. Dim i As Integer
  3. ItenExiste6 = False
  4. For i = 0 To Varo
  5.     If VectorItemAvance(i) = TxtItem6 Then
  6.         ItenExiste6 = True
  7.         Ind = Varo
  8.         Exit Function
  9.     End If
  10. Next i
  11.  
  12. End Function
  13.  

 cuando entra al el se reinicia la variable Varo vuelve hacer cero yo necesito que mantenga el valor si la estoy declarando bueno segun la vida de las variables.
hacer si me puede ayudar te lo agradeceria ya que esta declarada a nivel de formulario.

Código: Visual Basic
  1. Private Sub CodigoMateriales(ByVal Varo As Integer)
  2.     Dim VarSumatoria As Double
  3.     Dim VarSumatoria2 As Double
  4.     Dim indi As String
  5.     Dim i As Long, l As Long, S As Long, Z As Long, ex As Long
  6.     Dim cor As Long, Valorcorte As Long, VarStop As Long, VarCantCortes As Long
  7.     Dim NumeroCorte2 As Long, VarIdCorte As Long
  8.    
  9.     i = 1
  10.  
  11.     VarSumatoria = 0
  12.     VarSumatoria2 = 0
  13.     VarStop = 0
  14.     VarCantCortes = 0
  15.     NumeroCorte2 = FrmCrearCotizacion.ObtenerNumero(TxtDescripcionCorte6)
  16.     NumeroCorte2 = NumeroCorte2 - 1
  17.     VarIdCorte1 = TxtIdCorte
  18.     Varo = 0
  19.     Valorcorte = ObtenerNumero(FrmCrearCotizacion.CmboxCortes.Text)
  20.  
  21.     l = 7
  22.     S = 8
  23.     Z = 18
  24.     ex = 1
  25.  
  26.     For cor = 1 To Valorcorte
  27.         indi = cor
  28.         Limpiavec
  29.         Z = 18
  30.         Adodc6.Recordset.MoveFirst
  31.         Do While Not Adodc6.Recordset.EOF
  32.             If TxtIdCotizacion6 = FrmCrearCotizacion.TxtIdCotizacion Then
  33.                 If ItenExiste6 = False Then
  34.                     VectorItemAvance(Varo) = TxtItem6
  35.                     ApExcel.Cells(Varo + 18, 1).Formula = Val(TxtItem6) 'TxtItem6
  36.                    ApExcel.Cells(Varo + 18, 2).Formula = TxtNOmbreItem6 'TxtNOmbreItem6
  37.                    ApExcel.Cells(Varo + 18, 3).Formula = TxtUnidadItem6 'TxtUnidadItem6
  38.                    ApExcel.Cells(Varo + 18, 4).Formula = TxtCantidadPresupuestada6 'cant
  39.                    ApExcel.Cells(Varo + 18, 5).Formula = Val(TxtVrInitItem6) 'Precio unitario
  40.                    ApExcel.Cells(Varo + 18, 6).Formula = TxtVrInitItem6 * TxtCantidadPresupuestada6 'Vr total
  41.                  
  42.                     If indi = ex Then
  43.                         ApExcel.Cells(17, l).Formula = "CANT"
  44.                         ApExcel.Cells(17, S).Formula = "Vr,TOTAL"
  45.                         ApExcel.Cells(16, l).Formula = "AVANCE " + indi
  46.                        
  47.                         'Unir Celdas
  48.                      
  49.                         ApExcel.Range("G16:N16").HorizontalAlignment = xlCenter
  50.                         ApExcel.Range("G16:N16").VerticalAlignment = xlBottom
  51.                         ApExcel.Range("G16:N16").WrapText = False
  52.                         ApExcel.Range("G16:N16").Orientation = 0
  53.                         ApExcel.Range("G16:N16").AddIndent = False
  54.                         ApExcel.Range("G16:N16").IndentLevel = 0
  55.                         ApExcel.Range("G16:N16").ShrinkToFit = False
  56.                         ApExcel.Range("G16:N16").ReadingOrder = xlContext
  57.                         ApExcel.Range("G16:N16").MergeCells = False
  58.                        
  59.                         ApExcel.Range("G16:H16").Merge
  60.                         ApExcel.Range("I16:J16").Merge
  61.                         ApExcel.Range("K16:L16").Merge
  62.                         ApExcel.Range("M16:N16").Merge
  63.                        
  64.                         ex = ex + 1
  65.                     End If
  66.                    
  67.                     Do While Not Adodc1.Recordset.EOF
  68.                         If TxtItem6 = TxtItem1 And TxtIdCotizacion1 = TxtIdCotizacion6 And TxtDescripcionCorte1 = "Corte No " + indi Then
  69.                             If FrmCrearCotizacion.FechaMayor(TxtFecIngresoCant1, TxtFechaInicio1) = True Then
  70.                                 If FrmCrearCotizacion.FechaMayor(TxtFechaFin1, TxtFecIngresoCant1) = True Then
  71.                                     VarSumatoria = TxtCantidadEjecutada1 + VarSumatoria 'cant eje
  72.                                End If
  73.                             End If
  74.                         End If
  75.                         Adodc1.Recordset.MoveNext
  76.                     Loop
  77.                    
  78.                     Adodc1.Recordset.MoveFirst
  79.                     ApExcel.Cells(Varo + Z, l).Formula = VarSumatoria 'cant eje
  80.                    ApExcel.Cells(Varo + Z, S).Formula = TxtVrInitItem6 * VarSumatoria 'Precio unitario
  81.                    SUMATOAVA = TxtVrInitItem6 * VarSumatoria
  82.                     Varo = Varo + 1
  83.                 End If
  84.             End If
  85.             Adodc6.Recordset.MoveNext
  86.             VarSumatoria = 0
  87.         Loop
  88.         Adodc6.Recordset.MoveFirst
  89.         l = l + 2
  90.         S = S + 2
  91.         Z = Z + 1
  92.     Next cor
  93. End Sub
  94.  
esta es la otra parte donde utilizo la variable

2
Visual Basic 6.0 e inferiores / Re: error procedimiento demasiado largo
« en: Lunes 14 de Septiembre de 2009, 16:38 »
bueno algunas cosa entiendo, otras cosa no entiendo. la verdad yo llevo como 3 meses trabajando en este lenguaje de programación. y las cosas que he aprendido han sido con manuales. te entiendo lo de los procedimiento lo de dividir por bloque que tenga parte especificas eso ok.

lo que no entiendo es esto, tu me dices que declare el   objeto ApExcel a nivel de formulario la verdad, esta parte de reporte en Excel  yo leí por medio de un manual como hacer eso me explicaba que por medio de macro de Excel sacar el código para poder pasarlo a visual basic 6 así fue que lo hice cuando tu me hablas de declarar el objecto  ApExcel en el formulario principal me imagiano esto.

Código: Visual Basic
  1. Dim VectorItemAvance(1000) As Integer
  2. Dim VectorItemAvanceMO(1000) As Integer
  3. Dim VectorItemAvanceCR(1000) As Integer
  4. Dim VectorItemAvanceIA(1000) As Integer
  5. Dim Varo As Integer
  6. Dim VaroMO As Integer
  7. Dim TempMO As Integer
  8. Dim VaroCR As Integer
  9. Dim TempCR As Integer
  10. Dim VaroIA As Integer
  11. Dim TempIA As Integer
  12. Dim l As Integer
  13. Dim S As Integer
  14. Dim AvanceTMO As Integer
  15.  
  16. Private Sub Form_Load()
  17. Dim VarVrTotalItem As Double
  18. Dim VarPorEjecutado As Double
  19. 'Dim Selection As Object
  20. 'Dim xlGeneral As Object
  21. Dim ContCantidad As Double
  22. 'bExcel = False
  23. 'Set ApExcel = GetObject(, "Excel.Application") 'Obtiene el objeto aplication de Excel, si no está abierto ocurre un error
  24.  
  25. Set ApExcel = CreateObject("Excel.application")
  26. ' Hace que Excel se vea
  27. 'bExcel = True
  28. ApExcel.Visible = True
  29. 'Agrega un nuevo Libro
  30. ApExcel.Workbooks.Add
  31. 'Poner Titulos
  32. ApExcel.Cells(2, 1).Formula = "INGESOFT LTDA - CARBONES DEL CERREJON LIMITED"
  33. 'ApExcel.Cells(3, 1).Formula = "PROY:"
  34. 'ApExcel.Cells(3, 2).Formula = FrmCrearCotizacion.TxtDescripcionCotizacion.Text
  35. ApExcel.Cells(4, 1).Formula = "CUADRO DE CANTIDADES DE OBRA Y PRECIOS UNITARIOS"
  36. ApExcel.Cells(5, 1).Formula = "CONTRATO CON-002482007 - CONSTRUCCIÓN OBRAS ELECTRICAS Y SERVICIOS TÉCNICOS AFINES"
  37. ApExcel.Cells(6, 1).Formula = "TRABAJOS PREDEFINIDOS - TARIFAS POR PRECIOS UNITARIOS"
  38. ApExcel.Cells(7, 1).Formula = "CENTRO DE COSTO:"
  39. ApExcel.Cells(7, 3).Formula = FrmCrearCotizacion.TxtCentrodeCosto.Text
  40. ApExcel.Cells(8, 1).Formula = "No. Orden de trabajo"
  41. ApExcel.Cells(8, 3).Formula = FrmCrearCotizacion.TxtNoCotizacion
  42. ApExcel.Cells(8, 5).Formula = "Plazo:"
  43. ApExcel.Cells(8, 6).Formula = TxtDiasCalendario & " Dias "
  44. ApExcel.Cells(10, 1).Formula = "Objeto de la Orden:"
  45. ApExcel.Cells(10, 3).Formula = FrmCrearCotizacion.TxtDescripcionCotizacion.Text
  46. ApExcel.Cells(11, 1).Formula = "Administrador de la orden de Trabajo:"
  47. ApExcel.Cells(11, 3).Formula = FrmCrearCotizacion.TxtNombreElaboraCotizacion.Text
  48. ApExcel.Cells(12, 1).Formula = "Persona que elaboro la cotizacion:"
  49. ApExcel.Cells(12, 3).Formula = "RICARDO ANTURI"
  50. 'ApExcel.Cells(4, 1).Formula = "COD:"
  51. 'ApExcel.Cells(4, 2).Formula = "IELEC-CAMP"
  52. 'ApExcel.Cells(4, 3).Formula = "FECHA:"
  53. 'ApExcel.Cells(4, 4).Formula = FrmCrearCotizacion.TxtFechaCotizacion.Text
  54. ApExcel.Columns("A:A").ColumnWidth = 8.43
  55. ApExcel.Columns("B:B").ColumnWidth = 33.57
  56. ApExcel.Columns("C:C").ColumnWidth = 8.29
  57. ApExcel.Columns("D:D").ColumnWidth = 9.71
  58. ApExcel.Columns("E:E").ColumnWidth = 15.14
  59. ApExcel.Columns("F:F").ColumnWidth = 17.57
  60.  

donde  Private Sub Form_Load()  me imagino que es el formulario principal. corrigeme si me equivoco. si quiere dame un manual donde yo podria buscar esa información. la verdad se cual es tu idea pero la parte de  declaración de formulario me confunde.

Código: Visual Basic
  1. 'por que tu declaras por ejemplo
  2.  
  3.  Dim ApExcel As Excel.Application
  4. Set ApExcel = New Excel.Application
  5.  
  6. 'y mi declaracion es asi
  7.  
  8. Set ApExcel = CreateObject ("Excel.application")
  9.  
  10. '  parece que me faltara esto
  11. Dim ApExcel As Excel.Application
  12.  
  13. ' Segun lo que observo
  14.  

espero que  CreateObject y New sean lo mismo.
de pronto estoy haciendo deducciones tonta pero la verdad tengo poco en este lenguaje espero me entiendas.



la verdad no se  como no conosco casi el lenguaje

 pero me has dado una idea de como pasar mas el codigo a procedimiento. por que el mio esta muy estructurado (osea que un solo bloque quiero hacer todo). y disculpa las molestias

ha ya aprendí lo de la etiquetas gracias XD

y gracias por tu ayuda de verdad. eres muy bueno en esto..

joko1220

3
Visual Basic 6.0 e inferiores / Re: error procedimiento demasiado largo
« en: Sábado 12 de Septiembre de 2009, 15:16 »
este es una parte del código. En el mismo procedimiento ajusto las casillas de Excel y de hay mismo escribo información de la base de datos. yo intente colocar un pedazo del código que genera  Excel dentro de otro procedimiento pero me sale otro error que dice falta crear el objecto algo así. yo no quiero abrir otra vez Excel quiero continuar imprimiendo en la misma hoja.

espero que este pedazo de código sea el conveniente. gracias


ApExcel.Range("A16:N17").Borders(xlEdgeBottom).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeBottom).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlEdgeBottom).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlEdgeRight).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeRight).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlEdgeRight).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlInsideVertical).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlInsideVertical).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlInsideVertical).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlDiagonalDown).LineStyle = xlNone
ApExcel.Range("A16:N17").Borders(xlDiagonalUp).LineStyle = xlNone
ApExcel.Range("A16:N17").Borders(xlEdgeLeft).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeLeft).Weight = xlMedium
ApExcel.Range("A16:N17").Borders(xlEdgeLeft).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlEdgeTop).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeTop).Weight = xlMedium
ApExcel.Range("A16:N17").Borders(xlEdgeTop).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlEdgeBottom).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeBottom).Weight = xlMedium
ApExcel.Range("A16:N17").Borders(xlEdgeBottom).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlEdgeRight).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlEdgeRight).Weight = xlMedium
ApExcel.Range("A16:N17").Borders(xlEdgeRight).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlInsideVertical).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlInsideVertical).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlInsideVertical).ColorIndex = xlAutomatic
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).LineStyle = xlContinuous
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).Weight = xlThin
ApExcel.Range("A16:N17").Borders(xlInsideHorizontal).ColorIndex = xlAutomatic
ApExcel.Range("A1:F17").Font.Bold = True
'Adodc6.Recordset.MoveFirst

'CODIGO DE MATERIALES

i = 1
'j = 1
Dim VarSumatoria As Double
Dim VarSumatoria2 As Double
Dim indi As String
VarSumatoria = 0
VarSumatoria2 = 0
VarStop = 0
VarCantCortes = 0
NumeroCorte2 = FrmCrearCotizacion.ObtenerNumero(TxtDescripcionCorte6)
NumeroCorte2 = NumeroCorte2 - 1
VarIdCorte1 = TxtIdCorte
Varo = 0

L = 7
S = 8
Z = 18
ex = 1


For cor = 1 To ValorCorte
    indi = cor
    Limpiavec
    Z = 18
    Adodc6.Recordset.MoveFirst
        Do While Not Adodc6.Recordset.EOF
            If TxtIdCotizacion6 = FrmCrearCotizacion.TxtIdCotizacion Then
                    If ItenExiste6 = False Then
                        VectorItemAvance(Varo) = TxtItem6
                        ApExcel.Cells(Varo + 18, 1).Formula = Val(TxtItem6) 'TxtItem6
                        ApExcel.Cells(Varo + 18, 2).Formula = TxtNOmbreItem6 'TxtNOmbreItem6
                        ApExcel.Cells(Varo + 18, 3).Formula = TxtUnidadItem6 'TxtUnidadItem6
                        ApExcel.Cells(Varo + 18, 4).Formula = TxtCantidadPresupuestada6 'cant
                        ApExcel.Cells(Varo + 18, 5).Formula = Val(TxtVrInitItem6) 'Precio unitario
                        ApExcel.Cells(Varo + 18, 6).Formula = TxtVrInitItem6 * TxtCantidadPresupuestada6 'Vr total
               
                        If indi = ex Then
                            ApExcel.Cells(17, L).Formula = "CANT"
                            ApExcel.Cells(17, S).Formula = "Vr,TOTAL"
                            ApExcel.Cells(16, L).Formula = "AVANCE " + indi
                   
                            'Unir Celdas
                   
                            ApExcel.Range("G16:N16").HorizontalAlignment = xlCenter
                            ApExcel.Range("G16:N16").VerticalAlignment = xlBottom
                            ApExcel.Range("G16:N16").WrapText = False
                            ApExcel.Range("G16:N16").Orientation = 0
                            ApExcel.Range("G16:N16").AddIndent = False
                            ApExcel.Range("G16:N16").IndentLevel = 0
                            ApExcel.Range("G16:N16").ShrinkToFit = False
                            ApExcel.Range("G16:N16").ReadingOrder = xlContext
                            ApExcel.Range("G16:N16").MergeCells = False
                           
                            ApExcel.Range("G16:H16").Merge
                            ApExcel.Range("I16:J16").Merge
                            ApExcel.Range("K16:L16").Merge
                            ApExcel.Range("M16:N16").Merge
                           
                            ex = ex + 1
                        End If
               
                            Do While Not Adodc1.Recordset.EOF
                                If TxtItem6 = TxtItem1 And TxtIdCotizacion1 = TxtIdCotizacion6 And TxtDescripcionCorte1 = "Corte No " + indi Then
                                    If FrmCrearCotizacion.FechaMayor(TxtFecIngresoCant1, TxtFechaInicio1) = True Then
                                        If FrmCrearCotizacion.FechaMayor(TxtFechaFin1, TxtFecIngresoCant1) = True Then
                                            VarSumatoria = TxtCantidadEjecutada1 + VarSumatoria 'cant eje
                               
                                        End If
                                    End If
                                End If
                                Adodc1.Recordset.MoveNext
                            Loop
               
                            Adodc1.Recordset.MoveFirst
                            ApExcel.Cells(Varo + Z, L).Formula = VarSumatoria 'cant eje
                            ApExcel.Cells(Varo + Z, S).Formula = TxtVrInitItem6 * VarSumatoria 'Precio unitario
                            SUMATOAVA = TxtVrInitItem6 * VarSumatoria
                             Varo = Varo + 1
                        End If
                    End If
                    Adodc6.Recordset.MoveNext
                    VarSumatoria = 0
                Loop
                Adodc6.Recordset.MoveFirst
   
   
            L = L + 2
            S = S + 2
            Z = Z + 1
               
    Next cor
       
    ApExcel.Cells(17, L).Formula = "CANT"
    ApExcel.Cells(17, S).Formula = "Vr,TOTAL"
    ApExcel.Cells(16, L).Formula = "AVANCE TOTAL"
       
     For i = 1 To Varo
        ApExcel.Cells(i + 17 + ii, L).FormulaLocal = "=SUMA(G" & (i + 17) & "+I" & (i + 17) & ")"
        ApExcel.Cells(i + 17 + ii, S).FormulaLocal = "=SUMA(H" & (i + 17) & "+j" & (i + 17) & ")"
     Next i
           
    i = Varo
       
   
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).HorizontalAlignment = xlCenter
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).VerticalAlignment = xlBottom
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).Orientation = 0
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).AddIndent = False
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).IndentLevel = 0
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).ShrinkToFit = False
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).ReadingOrder = xlContext
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).MergeCells = False
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).Interior.ColorIndex = 15
ApExcel.Range("A" & (i + 19) & ":N" & (i + 19)).Interior.Pattern = xlSolid
   
ApExcel.Cells(i + 19, 1).Formula = "VALOR TOTAL TRABAJOS PREDEFINIDOS:"

VarX1 = i + 19

ApExcel.Range("E18:F" & (i + 17)).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
ApExcel.Range("H18:H" & (i + 17)).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
ApExcel.Range("J18:J" & (i + 17)).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"

4
Visual Basic 6.0 e inferiores / error procedimiento demasiado largo
« en: Sábado 12 de Septiembre de 2009, 00:58 »
buanas, espero que me puedan ayudarme, mi problema es este  tengo un programa que hace las  facturacion de una empresa. me sale un error que dice error procedimiento demasiado largo. ya se por que tengo mas de 1600 lineas mi problema es que no se que hacer por que de hay yo imprimo en excel un reporte por eso se hace las 1600 lineas como haria para porder dividir el codigo y poder continuar imprimiendo el mismo reporte. para continuar con mi programa.

gracias..

Páginas: [1]