Home |
Search |
Today's Posts |
#23
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
thank you Dave.got it.
"Dave Peterson" wrote: There's an added .ontime line in the WaitABit changed procedure that calls waitabit2. And WaitABit2 is the procedure where you'd print the 3rd time. peyman wrote: I'm confused.which line should I add to the "waitabit" procedure?and what's the "waitabit2"? "Dave Peterson" wrote: I'd add another delayed procedure in the WaitABit procedure. .... End Sub Private Sub WaitABit() Me.Range("G13:I32").Font.ColorIndex = 2 Me.PrintOut preview:=True, Copies:=1, Collate:=True 'toggle your commandbutton value here! 'and call another procedure Application.OnTime earliesttime:=Now + TimeSerial(0, 0, 1), _ procedu="'" & ThisWorkbook.Name & "'!" & Me.CodeName & ".WaitABit2" End Sub Private Sub WaitABit2() 'do your setup and print here End Sub peyman wrote: hi Dave, I removed preview:=true and it works fine.how about if wanna repeat the second print with toggled optionbutton?in other words, I'd like to have one print with ColorIndex = xlAutomatic (no matter what optionbutton is selected) and two more prints with different optionbutton selected.now I have only two of them.thanx again "Dave Peterson" wrote: You should be clicking on CommandButton11. Is that what you meant by the "print" button? peyman wrote: hi Dave, I used your code : Option Explicit Private Sub CommandButton11_Click() Me.Range("G13:I32").Font.ColorIndex = xlAutomatic Me.PrintOut preview:=True, Copies:=1, Collate:=True If Me.OptionButton1.Value = True Then Me.OptionButton2.Value = True Else Me.OptionButton1.Value = True End If Application.OnTime earliesttime:=Now + TimeSerial(0, 0, 1), _ procedu="'" & ThisWorkbook.Name & "'!" & Me.CodeName & ".WaitABit" End Sub Private Sub WaitABit() Me.Range("G13:I32").Font.ColorIndex = 2 Me.PrintOut preview:=True, Copies:=1, Collate:=True End Sub it works perfect but still a bit manual.I have push the "print" button.can't it be done automatically?? "Dave Peterson" wrote: Me is a reserved word in VBA. It refers to the thing that owns the code. In this case since the code is in a worksheet module, it refers to the worksheet that owns the code. You used activesheet. In some cases, you may be selecting or activating a different sheet. I wanted to make sure that the correct sheet was printed, so I used Me. The other portion of the code is the application.ontime. That just tells excel to wait a second (Now + TimeSerial(0, 0, 1)) and then start a new routine. You may want to take a look at Chip Pearson's notes: http://www.cpearson.com/excel/OnTime.aspx peyman wrote: Dave.I didn't get what you did.can you please explain the codes you have written.sorry I'm novice.what is "Me. ..."?what should I replace with that? "Dave Peterson" wrote: I tried adding some DoEvents. And it didn't help. I tried toggling application.screenupdating off, then on. And it didn't help. I tried adding application.wait (for a second). And it didn't help. I tried adding minimizing the activewindow, then restoring it. And it didn't help. But this seemed to work ok for me. Actually, I didn't test on paper. I only tested using print preview. But the others failed with that. This one worked ok. Option Explicit Private Sub CommandButton11_Click() Me.Range("G13:I32").Font.ColorIndex = xlAutomatic Me.PrintOut preview:=True, Copies:=1, Collate:=True If Me.OptionButton1.Value = True Then Me.OptionButton2.Value = True Else Me.OptionButton1.Value = True End If Application.OnTime earliesttime:=Now + TimeSerial(0, 0, 1), _ procedu="'" & ThisWorkbook.Name & "'!" & Me.CodeName & ".WaitABit" End Sub Private Sub WaitABit() Me.Range("G13:I32").Font.ColorIndex = 2 Me.PrintOut preview:=True, Copies:=1, Collate:=True End Sub (The WaitABit code is in the same worksheet module.) peyman wrote: hi, I have a very simple code ,but I don't know why it doesn't work. Private Sub CommandButton11_Click() Range("G13:I32").Select Selection.Font.ColorIndex = xlAutomatic Range("B7").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True If ActiveSheet.OptionButton1.Value = True Then ActiveSheet.OptionButton2.Value = True Else ActiveSheet.OptionButton1.Value = True End If Range("G13:I32").Select Selection.Font.ColorIndex = 2 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End Sub the problem is when I run the program, the optionbutton toggle is not showing in the second print?!! Any help?thank you. -- Dave Peterson -- Dave Peterson -- Dave Peterson -- Dave Peterson -- Dave Peterson |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
problem in VB codes-2 | Excel Discussion (Misc queries) | |||
problem in VB codes | Excel Discussion (Misc queries) | |||
Help with codes | Excel Discussion (Misc queries) | |||
VBA Codes | Excel Worksheet Functions | |||
Zip Codes | Excel Discussion (Misc queries) |