Impresión automática desde lista de validación

20/10/2008 - 09:56 por vitobacon | Informe spam
Hola.
Tengo una macro que escribí siguiendo instrucciones de Héctor Miguel para
imprimir unas "fichas" a partir del dato que seleccionaba en una lista de
validación (en la celda G1). El código aparece más abajo.
Bien, pues las cosas han ido creciendo, y ya tengo más de 600 entradas en mi
lista de validación, así que si ejecuto la macro se pone a imprimir, que es
lo que se espera de ella.
El problema que ahora tengo, y por el que hago esta consulta, es que NO las
quiero imprimir TODAS sino sólo unas cuantas que cumplan una condición
(pongamos por caso, que empiecen por "a", por "b" o por "c"; otro caso de
ejemplo sería desde la "c-080" hasta la "c-120").

A continuación pego la macro:

Sub ImprimirTodas()
Dim celda As Range
For Each celda In Range("ListaClaves")
DoEvents
Worksheets("FICHA").[G1] = celda
Worksheets("FICHA").PrintOut
Next
End Sub

El rango ListaClaves es de longitud variable, y se obtiene con la fórmula
ListaClavesÞSREF(dBASE!$A$2;0;0;CONTARA(dBASE!$A:$A)-1;1)
que también confeccioné mediante consultas al foro, siendo dBASE la hoja del
libro donde tengo todos los datos.
La lista está ordenada alfabéticamente.
Utilizo Excel 2007.

Pues nada, eso era.
Un saludo y quedo a la espera.
Álvaro
 

Leer las respuestas

#1 Héctor Miguel
20/10/2008 - 22:10 | Informe spam
hola, alvaro !

- cuantas "variantes" (o casos como los ejemplos) consideras que llegaras a necesitar ?
- quieres que (todas ?) las variantes esten consideradas en una sola macro ?
- prefieres que el codigo "pregunte" (inputboxes o similares) cual variante y con que condiciones/parametros ?

comenta si hubiera algun detalle mas "en el tintero" :))

saludos,
hector.

__ OP __
Tengo una macro... para imprimir unas "fichas" a partir... en una lista de validacion (en la celda G1)...
El problema... es que NO las quiero imprimir TODAS sino solo unas cuantas que cumplan una condicion
(... que empiecen por "a", por "b" o por "c"; otro caso de ejemplo seria desde la "c-080" hasta la "c-120")...
El rango ListaClaves es de longitud variable, y se obtiene con la formula
ListaClavesÞSREF(dBASE!$A$2;0;0;CONTARA(dBASE!$A:$A)-1;1)
La lista esta ordenada alfabeticamente.
Utilizo Excel 2007.


__ el codigo expuesto __
Sub ImprimirTodas()
Dim celda As Range
For Each celda In Range("ListaClaves")
DoEvents
Worksheets("FICHA").[G1] = celda
Worksheets("FICHA").PrintOut
Next
End Sub

Preguntas similares