Imprimir filas determinadas

02/06/2007 - 23:25 por José María | Informe spam
En esta ocasión quería preguntaros una cosilla que creo os resultará muy
sencilla, pero que yo o consigo sacarla.
Veréis, en una hoja tengo 5 columnas A, B, C, D, E y F ocupadas normalmente
hasta el número 40 o 50.
En la columna F esta anotado si esta "pagado" o "Pendiente" y quisiera hacer
mediante una macro una selección de los pendientes para poder imprimirla
¿podéis decirme como se hace esto? Gracias
José María

Preguntas similare

Leer las respuestas

#1 Leonel
03/06/2007 - 05:21 | Informe spam
Sin macros Jose Maria con Datos>Filtro>Autofiltro, seleccione en la
lista desplegable de la Columna F Pendientes, se ocultan las pagadas
imprime, despuès de imprimir, despliega la lista de col F selecciona (todos)
y tienes la lista original, para quitar las listas Datos>Filtro>Autofiltro
Espero te sea ùtil
Leonel

"José María" wrote:

En esta ocasión quería preguntaros una cosilla que creo os resultará muy
sencilla, pero que yo o consigo sacarla.
Veréis, en una hoja tengo 5 columnas A, B, C, D, E y F ocupadas normalmente
hasta el número 40 o 50.
En la columna F esta anotado si esta "pagado" o "Pendiente" y quisiera hacer
mediante una macro una selección de los pendientes para poder imprimirla
¿podéis decirme como se hace esto? Gracias
José María




Respuesta Responder a este mensaje
#2 José María
03/06/2007 - 11:16 | Informe spam
Gracias Leonel, así funciona perfectamente, pero necesitaría hacer una macro
que luego asignaría a un botón, por que trabajan más personas y sería más
cómodo.
De todas formas agradezco tu ayuda.
José Maria
Respuesta Responder a este mensaje
#3 Ivan
03/06/2007 - 20:27 | Informe spam
On 3 jun, 11:16, "José María" <carmenARROBAhotmail.com> wrote:
Gracias Leonel, así funciona perfectamente, pero necesitaría hacer una macro
que luego asignaría a un botón, por que trabajan más personas y sería más
cómodo.
De todas formas agradezco tu ayuda.
José Maria



hola chicos,

aqui va una propuesta via codigo, aunque si buscas por el foro seguro
que encuentras opciones mejores, pero esta parece no ir mal

Requisitos, que puedes mas o menos adaptar:

1º.-la hoja con la lista se llama "Pagos" ( si quieres puedes cambiar
el nombre por el tuyo en => hj = "Pagos"

2º.- las columnas son las que mencionas y la de busqueda tambien (la
F)

3º.- al lista tiene los titulos en la fila 1 y los datos empiezan en
la 2

4º.- te crea una nueva hoja que se imprime directamente , aunque
poniendo .una comilla simple(como comentario) delante de .PrintOut y
quitandosela a .PrintPrview te muestra la vista previa y tu decides

5º .- si quieres eliminar la nueva hoja tras las acciones, quita las
comillas simples de delante de =>

' Application.DisplayAlerts = False
' .Delete
' Application.DisplayAlerts = True

6º la copia no lleva ningubn tipo de formato, si quieres alguno, y no
sabes como, comentas,

Pega el siguiente codigo en un modulo normal:

' pega desde
aqui--
Sub FiltrarPendientes()
Dim hj As String, NuevaHj As String
hj = "Pagos"
NuevaHj = "Pendientes_" & Format(Now, "dd-mm-yy_hhmmss")
With ThisWorkbook
.Worksheets.Add after:=.Worksheets(.Worksheets.Count)
ActiveSheet.Name = NuevaHj
With .Worksheets(hj)
On Error Resume Next
.ShowAllData
On Error GoTo 0
If .AutoFilterMode Then .AutoFilterMode = False
.[h1:h2].ClearContents
.[h1] = .[f1]: .[h2] = "Pendiente"
.[a:f].AdvancedFilter xlFilterCopy, .[h1:h2], _
ThisWorkbook.Worksheets(NuevaHj).[a1:f1], False
.[h1:h2].ClearContents
End With
With .Worksheets(NuevaHj)
.Columns.AutoFit
' .PrintPreview
.PrintOut
' Application.DisplayAlerts = False
' .Delete
' Application.DisplayAlerts = True
End With
End With
End Sub
' pega hasta aqui

espero te ayude y si quieres comentas como te ha ido

un saludo
Ivan
Respuesta Responder a este mensaje
#4 Carmen
03/06/2007 - 22:48 | Informe spam
Gracias Iván, mañana lo probaré en el trabajo, pero me lo has explicado muy
bien, creo que no me dará problemas. De todas formas ya te comentaré como me
ha ido, no te olvides de este hilo, por que seguiré por aquí.
Gracias.


"Ivan" escribió en el mensaje
news:
On 3 jun, 11:16, "José María" <carmenARROBAhotmail.com> wrote:
Gracias Leonel, así funciona perfectamente, pero necesitaría hacer una
macro
que luego asignaría a un botón, por que trabajan más personas y sería más
cómodo.
De todas formas agradezco tu ayuda.
José Maria



hola chicos,

aqui va una propuesta via codigo, aunque si buscas por el foro seguro
que encuentras opciones mejores, pero esta parece no ir mal

Requisitos, que puedes mas o menos adaptar:

1º.-la hoja con la lista se llama "Pagos" ( si quieres puedes cambiar
el nombre por el tuyo en => hj = "Pagos"

2º.- las columnas son las que mencionas y la de busqueda tambien (la
F)

3º.- al lista tiene los titulos en la fila 1 y los datos empiezan en
la 2

4º.- te crea una nueva hoja que se imprime directamente , aunque
poniendo .una comilla simple(como comentario) delante de .PrintOut y
quitandosela a .PrintPrview te muestra la vista previa y tu decides

5º .- si quieres eliminar la nueva hoja tras las acciones, quita las
comillas simples de delante de =>

' Application.DisplayAlerts = False
' .Delete
' Application.DisplayAlerts = True

6º la copia no lleva ningubn tipo de formato, si quieres alguno, y no
sabes como, comentas,

Pega el siguiente codigo en un modulo normal:

' pega desde
aqui--
Sub FiltrarPendientes()
Dim hj As String, NuevaHj As String
hj = "Pagos"
NuevaHj = "Pendientes_" & Format(Now, "dd-mm-yy_hhmmss")
With ThisWorkbook
.Worksheets.Add after:=.Worksheets(.Worksheets.Count)
ActiveSheet.Name = NuevaHj
With .Worksheets(hj)
On Error Resume Next
.ShowAllData
On Error GoTo 0
If .AutoFilterMode Then .AutoFilterMode = False
.[h1:h2].ClearContents
.[h1] = .[f1]: .[h2] = "Pendiente"
.[a:f].AdvancedFilter xlFilterCopy, .[h1:h2], _
ThisWorkbook.Worksheets(NuevaHj).[a1:f1], False
.[h1:h2].ClearContents
End With
With .Worksheets(NuevaHj)
.Columns.AutoFit
' .PrintPreview
.PrintOut
' Application.DisplayAlerts = False
' .Delete
' Application.DisplayAlerts = True
End With
End With
End Sub
' pega hasta aqui

espero te ayude y si quieres comentas como te ha ido

un saludo
Ivan
Respuesta Responder a este mensaje
#5 Ivan
04/06/2007 - 00:06 | Informe spam
hola ¿Carmen Jose Maria?

en lo que se refiere a los formatos, estaba equivocado,

realmente parece que copia los mismos formatos que tenga el original.
Aunque llevo unas cuantas pruebas con Filtros Avanzados no me habia
dado por fijarme en el tema especialmente y en esta prueba el origen
no tenia ningun tipo de formato y me dio por pensar por ahí... bueno,
parece que ya va formateada

un saludo
Ivan

PD: probablemente se pueda hacer sin copiar a otra hoja, imprimiendo
solo el rango visible directamente (con xlFilterInPlace), pero por mas
que le he dado vueltas de momento no lo he logrado...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida