Saludos cordiales a todos mis estimado excelnautas:
Para comentarles que estoy realizando un pequeño aplicativo en mi puesto de trabajo, relacionado con la impresión de formularios, ya que al final de cada 4 meses debo de imprimir alrededor de 250 formularios, mismos que contienen un sin fin de información... bueno, el asunto de llenarlos lo he superado utilizando un buscarv y listo... sin embargo, veia que el tema de ir consignando número por número de formulario también me llevaba un poco de tiempo, por lo que intenté usar el siguiente código:
Sub IMPRESION_DE_FORMULARIO()
Application.ScreenUpdating = False
Dim i As Long
If (Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5") * 1) * (Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5") * 1) = 0 Then Exit Sub ' EVALUAMOS QUE EXISTA UN VALOR NUMERICO EN CADA UNA DE LAS CELDAS
If WorksheetFunction.Count(Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5"), Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5")) < 2 Then Exit Sub 'EVALUAMOS EXISTA VALOR EN CADA UNA DE LAS CELDAS
Application.ScreenUpdating = False
For i = Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5") To Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5") 'SE TOMAN LOS DATOS DE INICIO HASTA EL FINAL
With Sheets("IMPRESION_DAB06_102012_OTROS") 'INDICAMOS LA HOJA SOBRE LA QUE TRABAJAREMOS
.Range("R3") = i 'DAMOS EL VALOR A LA CELDA
Application.ScreenUpdating = False
.PrintOut 'IMPRIMIMOS
End With
Next i
End Sub
y he de comentarles que me ha dado un excelente resultado y optimización de tiempo... (consignaba por ejemplo del número 1 al 50 y listo !!¡¡ iniciaba la impresión).
Sin embargo, el inconveniente que se me ha presentado es que ahora se tiene identificado que formularios corresponden a un año y a otro... por ejemplo: para el año 2012 los formularios iniciaron con el correlativo 1 y terminaron en el 12,345 (1/2012 al 12,345/2012) y para el año 2013 inicia del 1 hasta donde termine en diciembre (1/2013).... he tratado de acoplar el código anterior, sin embargo me da error... considero que ha de ocurrir porque ya no es un valor numérico sino más bien combinado (23/2013) y es ahí donde ya no puedo más pensar en encontrar una solución... (cabe mencionar que los datos son capturados desde un formulario y trasladados a la hoja que contiene el formulario).
Para comentarles que he intentado que me funcione omitiendo las 2 evaluaciones que se hacen al inicio... pero me sigue dando error...
De antemano muchas gracias por su valiosa ayuda e intervención en la presente solicitud.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Saludos cordiales a todos mis estimado excelnautas:
Para comentarles que estoy realizando un pequeño aplicativo en mi puesto de trabajo, relacionado con la impresión de formularios, ya que al final de cada 4 meses debo de imprimir alrededor de 250 formularios, mismos que contienen un sin fin de información... bueno, el asunto de llenarlos lo he superado utilizando un buscarv y listo... sin embargo, veia que el tema de ir consignando número por número de formulario también me llevaba un poco de tiempo, por lo que intenté usar el siguiente código:
Sub IMPRESION_DE_FORMULARIO()
Application.ScreenUpdating = False
Dim i As Long
If (Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5") * 1) * (Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5") * 1) = 0 Then Exit Sub ' EVALUAMOS QUE EXISTA UN VALOR NUMERICO EN CADA UNA DE LAS CELDAS
If WorksheetFunction.Count(Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5"), Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5")) < 2 Then Exit Sub 'EVALUAMOS EXISTA VALOR EN CADA UNA DE LAS CELDAS
Application.ScreenUpdating = False
For i = Sheets("IMPRESION_DAB06_102012_OTROS").Range("V5") To Sheets("IMPRESION_DAB06_102012_OTROS").Range("W5") 'SE TOMAN LOS DATOS DE INICIO HASTA EL FINAL
With Sheets("IMPRESION_DAB06_102012_OTROS") 'INDICAMOS LA HOJA SOBRE LA QUE TRABAJAREMOS
.Range("R3") = i 'DAMOS EL VALOR A LA CELDA
Application.ScreenUpdating = False
.PrintOut 'IMPRIMIMOS
End With
Next i
End Sub
y he de comentarles que me ha dado un excelente resultado y optimización de tiempo... (consignaba por ejemplo del número 1 al 50 y listo !!¡¡ iniciaba la impresión).
Sin embargo, el inconveniente que se me ha presentado es que ahora se tiene identificado que formularios corresponden a un año y a otro... por ejemplo: para el año 2012 los formularios iniciaron con el correlativo 1 y terminaron en el 12,345 (1/2012 al 12,345/2012) y para el año 2013 inicia del 1 hasta donde termine en diciembre (1/2013).... he tratado de acoplar el código anterior, sin embargo me da error... considero que ha de ocurrir porque ya no es un valor numérico sino más bien combinado (23/2013) y es ahí donde ya no puedo más pensar en encontrar una solución... (cabe mencionar que los datos son capturados desde un formulario y trasladados a la hoja que contiene el formulario).
Para comentarles que he intentado que me funcione omitiendo las 2 evaluaciones que se hacen al inicio... pero me sigue dando error...
De antemano muchas gracias por su valiosa ayuda e intervención en la presente solicitud.