una ultima seleccionar seleccion que para otra macro imprimir hoja hasta formulario especificas datos cumplan copiar condicion con celdas celda excel-vba printing

excel-vba - que - seleccionar hasta la ultima celda con datos vba



Macro de Excel para imprimir hojas basadas en mĂșltiples valores (1)

Tengo una hoja con una macro que cuando cambio un valor en la celda E5, llena automáticamente ciertos campos en la hoja 1 , busca y devuelve los valores de una tabla en otra hoja - sheetTable ).

Mi objetivo ahora es seleccionar un rango de valores en una columna en sheetTable y asignar cada uno de ellos a la celda E5 en la hoja 1 , e imprimir cada uno.

Entonces digamos que selecciono 3 celdas con valores: 45, 50 y 66. Cuando ejecuto la macro, asignará 45 a la celda E5 e imprimirá la hoja1 , luego asignará 50 a la celda E5 e imprimirá la hoja1 y finalmente asignará 66 a la celda E5 y hoja de impresión1.

Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Dim shape As Excel.shape '' The variable KeyCells contains the cells that will '' cause an alert when they are changed. Set KeyCells = Range("e5") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then For Each shape In ActiveSheet.Shapes shape.Delete Next InsertPictureInRange Range("f2").Value & Range("e5").Value & ".jpg", _ Range("c9") InsertPictureInRange Range("f2").Value & Range("e5").Value & "_1.jpg", _ Range("i9") If Range("e5").Value = "" Then Exit Sub End If End Sub


Lo siguiente se ejecutará a través de una selección y pegará los valores en su celda E5, en Sheet1, y luego abrirá el cuadro de diálogo "PrintToFile". A partir de ahí, deberá ingresar manualmente la ubicación y el nombre del archivo.

Dim Rng As Range Set Rng = Selection Dim Sheet1 As Worksheet Set Sheet1 = Sheets("Sheet1") For Each Cell In Rng Sheet1.Range("e5").Value = Cell.Value Sheet1.PrintOut Copies:=1, printtofile:=True, collate:=True, ignoreprintareas:=False Next Cell

Esto te lleva a la mitad, al menos. Quizás alguien con más experiencia que yo pueda agregar cómo se puede ingresar la ubicación y el nombre del archivo usando VBA.