............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Terminar Macro para imprimir registros

Ver el tema anterior Ver el tema siguiente Ir abajo

Terminar Macro para imprimir registros

Mensaje por Azu el Sáb Oct 16, 2010 11:07 am

Tengo una Macro realizada la cual toma los datos de una hoja (nombre dirección etc) y me los traslada a a unas ordenes de trabajo imprimiendome una orden de cada cliente, hasta aquí todo funciona bien, ahora tengo una base de datos "BASE DE DATOS DETALLE" donde está el código del cliente el tipo de analisis y los puntos que se tiene que tomar de cada tipo, necesito saber que codigo poner y como para que me imprima las ordenes de trabajo con los puntos a coger y si hay mas de 15 puntos en un tipo (que es el total de puntos por hoja salvo en superficies y ambientes que es de 25) pues que me saque las hojas necesarias de cada tipo para que se imprima todos los puntos, ya he probado muchas cosas pero no doy con la solución, necesito vuestra ayuda

AZU


Azu

Femenino Cantidad de envíos : 38
Edad : 41
Ciudad - Pais : Valencia
Version de Excel : 2007
Fecha de inscripción : 14/07/2009

Volver arriba Ir abajo

Re: Terminar Macro para imprimir registros

Mensaje por moises melgar el Lun Oct 18, 2010 12:15 pm

hola Azu comenze a ver tu caso pero para imprimir las macros
idea:
utilizar el mismo cominezo de busqueda seleccionando la celda donde se encuetra el dato buscado, luego
es rellenar los formularios con los primeros 15 datos (caso agua), se imprime , luego selecciona los seguientes 15 datos y vuelve a imprimir y asi sucesivamente
como veras apenas estoy agregando estos detalles a las hojas, disculpa si no estoy avanzando como quiero pero como es 17 aqui en mexico es el ultimo dia para pagar retenciones pero te muestro un poco de la etapa embrionaria

'COn una seleccion en la base de datos analitica
strfila = Selection.Row 'de que fila estamos hablando
strcolum = Selection.End(xlToRight).Column 'calcula en que columna se encuentra la ultima celda de la fila de la celda seleccionada
numdatos = strcolum - 2 'cuantos celdas existen en la fila seleccionada menos las dos primeras

hojas = WorksheetFunction.RoundUp(strcolum / 15, 0) 'cuantas hojas necesita para imprimir todos los reportes ya que el formulario son de 15 hojas

'copia los datos de 15 en 15 en intervalos de hasta las hojas necesarias
For x2 = 1 To hojas
ran1 = 15 * (x2 - 1) + 3 'determina en que columna se encuentra el primer dato del intervalo
ran2 = ran1 + 14 'determina en que columna se encuentra el ultimo dato del intervalo
Range(Cells(strfila, ran1), Cells(strfila, ran2)).Copy

Hoja1.Range("A2").End(xlDown).Offset(1, 0).PasteSpecial Transpose:=True
Application.CutCopyMode = False 'aqui como fue una prueba defini donde copiar los datos y como copiarlos
Next x2 'se repite la secuencias hasta el numero de copias necesarias
End Sub

bueno como te mencione solo es una prueba pero esto es la base de lo que diseñare para responder el tema
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 557
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.