我有一张带有宏的工作表,当我更改单元格E5中的值时,会自动填充 sheet1 中的某些字段,搜索并返回其他工作表上的表格中的值 - sheetTable )。
我现在的目标是在 sheetTable 的列中选择一系列值,并将它们中的每一个分配到 sheet1 上的单元格E5,并打印每一个。< / p>
因此,假设我选择3个单元格,其值为:45,50和66.当我运行宏时,它将45分配给单元格E5并打印 sheet1 ,然后它将50分配给单元格E5并打印 sheet1 ,最后将66指定给单元格E5并打印 sheet1 。
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
答案 0 :(得分:1)
以下内容将通过选择并将值粘贴到Sheet1上的单元格E5中,然后打开&#34; PrintToFile&#34;对话框。从那里,您必须手动输入文件位置和名称。
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
这至少会让你到达那里。也许比我更有经验的人将能够添加如何使用VBA输入文件位置和名称。