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
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!
See the attached version. I changed B8 from 0 to 1 decimal place.
- shetzelNov 08, 2023Brass 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
- shetzelNov 09, 2023Brass ContributorThank you very much for all of your help Hans. This works great.