|
|||||||
|
|
LinkBack | Herramientas | Buscar en Tema | Desplegado |
|
|||
|
Hola amigos tngo el siguiente codigo :
Dim ac As Long Dim z As IntegerHola amigos tngo el siguiente codigo : Dim ac As Long Dim z As Integer z = 0 For ac = 1 To MSFlexGrid1.Rows - 1 If MSFlexGrid1.TextMatrix(ac, ad) = "CE_01" And MSFlexGrid1.TextMatrix(ac, ad) = "4001" Then z = z + 1 End If Next ac lo que hace este codigo es comparar 2 columnas y cada vez que se cumpla las coincidencias me las guarde, ahora mi problema viene ahora.... necesito guardar este dato en un archivo excel existente llamado CE_01 el cual tiene 2 hojas la hoja dia y la hoja noche, en cada hoja tengo como campo (filas) las fechas y como columna unos códigos (como el 4001), entonces en mi formulario(form) tengo un msflexgrid en donde importo archivos de excel, tngo 2 option (option dia y option noche) y un dtpicker (para ingresar la fecha)........entonces hago la comparacion de las columnas en el msflexgrid, guardo las coincidencias (z) y ahora lo que quiero es que si tengo el option 1 activado (option dia) me guade el dato en la hoja dia ... en donde me va a guardar el dato? tngo que hacer otra comparacion que me compare el dtpicker con las fecha que tngo en la hoja y cuando la encuentre me guade la celda (a) despues comparar todas las columnas con el codigo en nuestro caso seria 4001 si lo pilla guade la celda (b), entonces el datos se guardara en la hoja en donde el option este activado y en la celda (a,b) espero se entienda desde ya gracias . si la fecha en el dtpicker es el 4/3/2010 libro CE_01 hoja dia o noche (depende del option) fechas 3/3/2010 4/3/2010 5/3/2010 6/3/2010 7/3/2010 8/3/2010 codigos 4001 z 4002 4003 4004 algo asi seria, notese que que esto lo tngo que hacer para cada combinacion codigo 4001-camion1 CE_01 - 4001; CE_01-4002; CE_01-4003 pero como es igual me sirve el codigo para el primer camion y codigo de error total los demas son lo mismo lo que me queda en la duda es que si guardo el dato z depues lo hago z=0 y vuelvo con el mismo codigo pero para la combinacion codigo 2002-camion 1 no me presentara problemas bueno ojala que no y si pueden me responden esto tb des de ya gracias y disculpen lo largo de la consulta espero que alguien me ayude y se pueda solucionar este problemita confio en uds chao. [/B] z = 0 For ac = 1 To MSFlexGrid1.Rows - 1 If MSFlexGrid1.TextMatrix(ac, ad) = "CE_01" And MSFlexGrid1.TextMatrix(ac, ad) = "4001" Then z = z + 1 End If Next ac lo que hace este codigo es comparar 2 columnas y cada vez que se cumpla las coincidencias me las guarde, ahora mi problema viene ahora.... necesito guardar este dato en un archivo excel existente llamado CE_01 el cual tiene 2 hojas la hoja dia y la hoja noche, en cada hoja tengo como campo (filas) las fechas y como columna unos códigos (como el 4001), entonces en mi formulario(form) tengo un msflexgrid en donde importo archivos de excel, tngo 2 option (option dia y option noche) y un dtpicker (para ingresar la fecha)........entonces hago la comparacion de las columnas en el msflexgrid, guardo las coincidencias (z) y ahora lo que quiero es que si tengo el option 1 activado (option dia) me guade el dato en la hoja dia ... en donde me va a guardar el dato? tngo que hacer otra comparacion que me compare el dtpicker con las fecha que tngo en la hoja y cuando la encuentre me guade la celda (a) despues comparar todas las columnas con el codigo en nuestro caso seria 4001 si lo pilla guade la celda (b), entonces el datos se guardara en la hoja en donde el option este activado y en la celda (a,b) espero se entienda desde ya gracias . si la fecha en el dtpicker es el 4/3/2010 libro CE_01 hoja dia o noche (depende del option) fechas 3/3/2010 4/3/2010 5/3/2010 6/3/2010 7/3/2010 8/3/2010 codigos 4001 z 4002 4003 4004 algo asi seria, notese que que esto lo tngo que hacer para cada combinacion codigo 4001-camion1 CE_01 - 4001; CE_01-4002; CE_01-4003 pero como es igual me sirve el codigo para el primer camion y codigo de error total los demas son lo mismo lo que me queda en la duda es que si guardo el dato z depues lo hago z=0 y vuelvo con el mismo codigo pero para la combinacion codigo 2002-camion 1 no me presentara problemas bueno ojala que no y si pueden me responden esto tb des de ya gracias y disculpen lo largo de la consulta espero que alguien me ayude y se pueda solucionar este problemita confio en uds chao.
|
|
|||
|
eh avanzado un poco con el codigo se que no esta muy bien tngo algunos errores pero es lo mas cercano que se me ah ocurrido pienso que la idea esta bien pero los codigos no tanto este es el codigo con el que estoy trabajando :
Private Sub exportar_datos() Dim ac As Long Dim z As Integer Dim objExcel As Excel.Application Dim xLibro As Excel.Workbook Dim Col As Integer, Fila As Integer Dim c As Integer Dim d As Integer Dim b As Integer Dim a As Integer z = 0 For ac = 1 To MSFlexGrid1.Rows - 1 If MSFlexGrid1.TextMatrix(ac, 0) = "CE_01" And MSFlexGrid1.TextMatrix(ac, 10) = "4001" Then z = z + 1 End If Next ac Set objExcel = New Excel.Application Set xLibro = objExcel.Workbooks.Open(FileName:="C:\Proyecto Komatsu\CE_01.xls") objExcel.Visible = False With xLibro If Option1 = False And Option2 = False Then MsgBox "Debe elegir un turno" End If If Option1 = True Then objExcel.Sheets("Dia").Select For b = cells(1, 2) To cells(1, 1000) If DTPicker1.Value = b Then c = b End If Next b For a = cells(2, 1) To cells(192, 1) If a = "4001" Then d = a End If Next a z = cells(c, d) End If If Option2 = True Then objExcel.Sheets("Noche").Select For b = cells(1, 2) To cells(1, 1000) If DTPicker1.Value = b Then c = b End If Next b For a = cells(2, 1) To cells(192, 1) If a = "4001" Then d = a End If Next a z = cells(c, d) End If End With end sub espero su ayuda gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|