Solved

VBA Code - Loops, Counters, & Stops

Posted on 2013-06-12
2
331 Views
Last Modified: 2013-06-12
Hello Experts,

Please bare with me as I explain this,...

I am looking for a VBA code that involves loops & counters (or at least I think that's what is needed).

Things you'll need to know...

Worksheets:  Input / Preview

Named Cells:  TotalPallets / PrintSelection

Excisting Print Code:  

Sub Pallet_Tag_Print()
ThisWorkbook.Worksheets("Preview").PrintOut
End Sub

Open in new window


See attached file...

As you can see, there are "4" total pallets. Along with the units & weights of each pallet listed to the right.

If you click on the Preview worksheet, you'll see it reflects information of Pallet # 1.

If you change the "Print Pallet Tag" field from 1, to 2 - then click on Preview - you'll see the Preview worksheet now reflects information about Pallet # 2.

So basically, there is ONE preview page - that is dynamic, and the user controls what page they are previewing by adjusting the "Print Pallet Tag" #.

Currently, when the user wants to print the pallet tags they have to put 1 into the field, then hit the print button, then they put 2 in the field, then print, and so on...

Obviously after a while, this is annoying.  Ideally, I would like a print all option.  But in order for it to work correctly - the VBA code will need to change the number in the "Print Pallet Tag" field.

Assuming I havn't lost you,...  Here is what I would like...

Step 1:  Code looks to named cell "PrintSelection".
Step 2:  IF value equals a #, then execute this line of code:

ThisWorkbook.Worksheets("Preview").PrintOut

Open in new window


Step 3:  After that code executed, code ends.

Step 4:  IF value of "PrintSelection" equals nothing, then assume Print All.
Step 5:  Code looks at named cell "TotalPallets".
Step 6:  The value in TotalPallets, would represent the # to stop on.
Step 7:  Code puts a "1" into PrintSelection, then runs the print code
Step 8:  Code puts a "2" into PrintSelection, then runs the print code.
Step 9:  Code puts a "3" into PrintSelection, then runs the print code.

It repeats those steps, until it reaches the TotalPallets number then stops.

I HOPE this made sense.  if you have any questions - please let me know.

Thank you in advance!

~ Geekamo
Pallet-Tag-Generator--Must-Enabl.xlsm
0
Comment
Question by:Geekamo
2 Comments
 
LVL 8

Accepted Solution

by:
agillanders earned 500 total points
Comment Utility
Try the attached. I added two small macros to Module 6.

Pallet_Tag_PrintSelector - decides which type of print (all or one) is required
Pallet_Tag_PrintAll - which prints all pallet tags from 1 to TotalPallets

Regards

Alistair
PalletTag-Test.xlsm
0
 
LVL 1

Author Comment

by:Geekamo
Comment Utility
@ Alistair,

I don't have access to a printer while testing this at home.  In order to test this, I placed a " ' " before the two lines of print code to disable them.  Then I added a MsgBox right above them, so that way I can see the code step through all the loops.

It has worked beautifully!  I really appreciate the time you spent on this.  Thank you so much!

~ Geekamo
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Sparklines have been introduced with Excel 2010 and are a useful tool for creating small in-cell charts, used for example in dashboards. Excel 2010 offers three different types of Sparklines: Line, Column and Win/Loss. What it does not offer is a…
Drop Down List with Unique/Distinct Values (enhancing the Combo-Box with a few steps and a little code) David miller (dlmille) Intro Have you ever created a data validation list from a database field or spreadsheet column (e.g., Zip Codes or Co…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now