Códigos de impresión en Excel

Como hacer una macro para imprimir un área determina, cuando el valor de una celda cambie hasta un valor máximo

1 Respuesta

Respuesta
1

Con esta macro imprimes un área.
Sub Macro1()
'Por.DAM
ActiveSheet.PageSetup.PrintArea = "$A$2:$E$12"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Esta parte que dices: “cuando el valor de una celda cambie hasta un valor máximo” no te entiendo, puedes explicar a qué te refieres.

ese código ya lo tengo, lo que pasa es que cuando le puse que se ejecutara cuando el valor de mi celda en este caso I4 cambiara de es decir 1,2,3,4, etc...que se imprima cada que cambie al valor, yo tenia algo asi

Private Sub Worksheet_Change(ByVal Target As Range)
Celda = "I4"
If Not Application.Intersect(Target, Range(Celda)) Is Nothing Then

ActiveSheet.PageSetup.PrintArea = "$A$2:$K$54"
ActiveWindow.SelectedSheets.PrintOut Copies:=1

End IF

End Sub

pero me marcaba error de compilación, aun no podía darle condicionante, para limitrala a un valor máximo y que se detuviera la macro

¿Sigo sin entender "para limitarla a un valor máximo y que se detuviera la macro" . A qué te refieres?

Explícame despacio, paso por paso, qué quieres que haga.

Dime, cuando "I4" vale 1, ¿qué pasa?

¿Cuándo I4 vale 2?

¿Cuándo vale 3?

primero que nada, que imprima al cambiar el valor de mi celda I4, y que esta misma vuelva a cambiar de valor al imprimir el área especifica, y por consiguiente se vuelva a imprimir, y que se detenga hasta alcanzar un valor máximo, tomando en cuenta que mi celda I4 arroja un valor calculado siempre que se imprima el área deseada y se imprimirá un área determinada siempre que cambie el valor de mi celda I4, es una constante que se detendrá cuando lo limite a un valor...

de ante mano gracias por apoyarme

Sigo sin entender

1. Pones un valor en I4, ¿qué valor pones?

2. La macro se ejecuta e imprime un área específica, ¿cuál área?

3. ¿Quieres qué en automático la celda I4 cambia a otro valor?

¿A cuál otro valor quieres que cambie?

4. ¿Cuándo se va a detener?

ok

1.- se pone un valor "1" en mi celda I4

2.- la macro de imprimir área especifica ("A1:K10") se ejecuta cuando mi celda I4 tiene un valor

3.-en automático mi celda I4 cambia de valor a "2", cuando concluye la impresión, es decir cuando imprime mi área especifica

4.- se vuelve a imprimir la misma área, por que volvió a cambiar el valor de mi celda I4.

5.- es un consecutivo si te das cuenta, cambia valor de celda se imprime, se imprime y cambia el valor de mi celda nuevamente, como se cambio el valor de mi celda I4, se vuelve a imprimir, y asi hasta alcanzar un valor máximo (50 por ejemplo)

saludos!! y gracias Experto!

Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
4. Del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
If Not Intersect(Target, Range("I4")) Is Nothing Then
    If Range("I4") <= 50 Then
        ActiveSheet.PageSetup.PrintArea = "$A$1:$K$10"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        Range("I4") = Range("I4") + 1
    End If
End If
End Sub

Nota:

Se detiene cuando llega a 50, cambia el valor si quieres más o menos repeticiones.

Saludos. DAM
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas