Forum Discussion
Print consecutive numbers from Excel
- Nov 08, 2023
Try this version:
Sub PrintTags() Dim n As Long Dim i As Long n = Application.RoundUp(Range("B6").Value, 0) For i = 1 To n Range("B18").Value = i If i < n Then Range("B8").Value = Range("O9").Value Else Range("B8").Value = Range("P9").Value - (n - 1) * Range("O9").Value End If ActiveSheet.PrintOut Next i Range("B8,B18").ClearContents End Sub
See the attached version. It is a macro-enabled workbook so you'll have to allow macros when you open it.
Thank you Hans, that worked great. I was wondering if there was a way to look at cell O9 (Max layers per cart) and subtract that from cell P9 (total layers needed) for each cart needed. In this case I need 3.91 carts so cart 1 - 3 take 16 layers which leaves 14.5 layers for cart # 4. The number of layers need to display in cell B8. Cart1 -16 layers, cart 2 -16 layers, cart 3 -16 layers, cart 4 -14.5 layers when the print buttun you created is pressed.
Thank you!
- HansVogelaarNov 07, 2023MVP
See the attached version. I changed B8 from 0 to 1 decimal place.
- shetzelNov 08, 2023Copper Contributor
Hans, again thank you for your help. I realized I did not account for scrap so I changed cell P9, the Total Layers needed to add in 10% scrap. I also had to change cell B6 to divide P9 by O9 and now it does not print correctly. It is only printing 2 sheets with 18.4 layers on the last sheet instead of 16 and then printing the 3rd sheet with 2.4, which is the balance. Can you help me on this? This should be my last correction. Thanks in advance.
- HansVogelaarNov 08, 2023MVP
Try this version:
Sub PrintTags() Dim n As Long Dim i As Long n = Application.RoundUp(Range("B6").Value, 0) For i = 1 To n Range("B18").Value = i If i < n Then Range("B8").Value = Range("O9").Value Else Range("B8").Value = Range("P9").Value - (n - 1) * Range("O9").Value End If ActiveSheet.PrintOut Next i Range("B8,B18").ClearContents End Sub