excel - 如何在 VBA 中循环下面的代码,同时每次降级。当最后一步下降时循环将停止,在单元格中没有值
问题描述
'我希望在 Excel 中制作一个打印所有按钮。我有当天发货的所有零件的垂直清单。我正在复制零件编号并粘贴在运输标签(单独的纸)上。粘贴零件编号后,运输标签将通过 Vlookup 填充来自主列表的源数据(即零件/数量/等的描述)。所以我希望始终从运输清单上的 C5 开始,然后复制/粘贴/打印标签/返回到列表/降级/选择/复制/粘贴/打印标签/返回到列表..如果在最后一步没有返回值,则函数应该停止。所以这将是一个循环'
Sub print_all_test()
'
' print_all_test Macro
'
'
Sheets("Weight Calculator").Select
Range("C5").Select
Selection.Copy
Sheets("SJ Tag Print All").Select
Range("C7:J7").Select
ActiveSheet.Paste
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Weight Calculator").Select
End Sub
解决方案
Sub test()
Dim lastrow As Long
Dim i As Long
lastrow = Sheets("Weight Calculator").Cells(Sheets("Weight Calculator").Rows.Count, 3).End(xlUp).Row 'Get last row in column C
For i = 5 To lastrow
Sheets("SJ Tag Print All").Range("C7:J7").Value = Sheets("Weight Calculator").Range("C" & i).Value
'Do whatever else you need to do, like printing.
Next i
End Sub