Cursos Clases en vivo Foro Ranking estudiantes Blog
Iniciar sesión Inscribirme

Es necesario estar inscrito para dejar tu duda, comentario y/o respuesta

Todo

Sin respuesta

Solo preguntas

Excel

Power BI

Power Query

Power Pivot

DAX

Macros VBA

SQL

Comentarios en clases

Francisco-Cruz publicó en la clase Select...Case, Convertir texto a mayúsculas o minúsculas hace 2 meses

hola. muy interesante.
En mi trabajo elaboro constancias DC-3, de 1 a N constancias de un  solo curso. es muy variado.
Tengo el código, lo complejo es cuando hago mas constancias tengo que agregar filas al código. (es decir adecuo las filas para el numero de constancias)
lo que me gustaría  saber es como hacer para que ejecute una macro e imprima el numero de celdas con datos (ejemplo si tengo datos en la lista del 1 al 9, (como ejemplo de la foto) que imprima 9 constancias), o en su caso que me aparezca cuadro de dialogo ¿cuantas constancias desea imprimir? y que de acuerdo a ese dato o istruccion elabore constancias si modificar codigo.
saludos
Les agradezco ojala me puedan orientar



Sub Imprimir_Constancias()
'
' Imprimir_Constancias Macro
' Imprime constancias de varios trabajadores
'
' Acceso directo: Ctrl+Mayús+D
'
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+R[1]C[30]"
    Range("E2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("E1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+R[2]C[30]"
    Range("E2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("E1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+R[3]C[30]"
    Range("E2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("E1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+R[4]C[30]"
    Range("E2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("E1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+R[5]C[30]"
    Range("E2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False


End Sub



image.png 117.56 KB

Respuestas

JuliaBravo490 respondió hace hace 2 meses:

Hola, Francisco.
Si ya tienes una macro funcional, un buen siguiente paso sería experimentar con bucles para automatizar la impresión según los registros con datos. También podrías probar a contar las filas activas y usar un cuadro de diálogo tipo InputBox que te permita ingresar cuántas constancias deseas imprimir, sin necesidad de ajustar el código manualmente cada vez.
Te animo a que lo vayas probando poco a poco para que entiendas bien cómo se comporta la macro, y si alguien de la comunidad ya ha aplicado algo parecido, estaría genial que lo comparta. 
Seguro entre todos encontramos la forma de resolverlo.
Cursos Foro Clase en vivo Validar certificado Iniciar sesión Inscribirme Términos y condiciones
Facebook Instagram Linkedin
Deztaca Experience
© 2025 © Deztaca. Todos los derechos reservados.