Weird Behaviour of Code
Ok, i've changed some things, and now it looks like it works.
Not really a clean solution, more a quick and dirty try, but
i don't care.
I erased the onchange event, made a button which has the
same code like the onchange had, and it works.
Thanks for all that helped, i kindly appreciated it.
Carlo
"Carlo" wrote:
Now i found something else :(
It also jumps to the onchange effect if i write anything on the layout-sheet!!
I have a "Save" Button which also gets this effect!!! I think i try to redo
the
combobox......perhaps it helps!
If anyone has another suggestion please let me know!
Carlo
"Carlo" wrote:
Hi Sandy
Well the weirdest thing is, that the code jumps to the combobox after setting
the printarea!! And while changing the printarea nothing should change on the
combobox, because it refers to a whole diffrent sheet, and not to the sheet
on which I change the printarea.
I don't have a Combobox code, the only thing i have is the onchange code and
this one i have already posted :(
I could send you the file, where you could look at the whole code, if that
would
help!
Yeah you're right, after searching for errors in the whole code your eyes get
lazy and tend to overlook a lot of things!
Thanks for your kind help
Carlo
"Sandy" wrote:
Here's my take on what might be going on. When your if statement
changes the OT_1Page or then Opt_2Page button something in your
combobox is changing. Is there any references to these 2 buttons in the
combo box at all? Take a good look at the code, there must be a
reference to one of these buttons (or both), especially if you removed
the if statement and the code worked. If you can, post the combobox
code, someone's fresh eyes, and head may see something that you might
have missed... as we all know when we've starred at something for a
little too long.
HTH
Sandy
Carlo wrote:
Appendix:
if i delete these lines:
---------------------------------------------------------------------------
If ActiveSheet.Cells(TemplateRow + 1, TemplateCol) = 1 Or
ActiveSheet.Cells(TemplateRow + 1, TemplateCol) = "" Then
Me.Opt_1Page = True
Else
Me.Opt_2Page = True
End If
---------------------------------------------------------------------------
it works fine! But i need to update the option buttons, otherwise
my Form looks wrong!
Carlo
"Carlo" wrote:
Hi Sandy and all the others
Thanks for your answer, unfortunately it didn't work!
here's my code, hope it isn't to messy:
------------------------------------------------------------------------------------------------
Private Sub Cmb_Template_Change()
Dim TemplateRow As Integer
Dim TemplateCol As Integer
Dim ArrayRoman(5) As String
TemplateRow = 11 + Me.Cmb_Template.ListIndex * 10
TemplateCol = 9
ArrayRoman(0) = "I"
ArrayRoman(1) = "II"
ArrayRoman(2) = "III"
ArrayRoman(3) = "IV"
ArrayRoman(4) = "V"
ArrayRoman(5) = "VI"
If ActiveSheet.Cells(TemplateRow + 1, TemplateCol) = 1 Or
ActiveSheet.Cells(TemplateRow + 1, TemplateCol) = "" Then
Me.Opt_1Page = True 'here it jumps to the Opt_1Page_Click() which is ok
Else
Me.Opt_2Page = True 'here it jumps to the Opt_2Page_Click() which is ok
End If
Me.Cmb_Title = ActiveSheet.Cells(TemplateRow, TemplateCol + 1)
Me.Cmb_Logo = ActiveSheet.Cells(TemplateRow + 1, TemplateCol + 1)
For i = 0 To 5
For j = 1 To 8
Me("Cmb_" & ArrayRoman(i) & "_" & j) = ActiveSheet.Cells(TemplateRow
+ j - 1, TemplateCol + 2 + i)
Next j
Next i
Me.Cmb_Level_Row2 = ActiveSheet.Cells(TemplateRow + 8, TemplateCol + 3)
Me.Cmb_Level_Row3 = ActiveSheet.Cells(TemplateRow + 8, TemplateCol + 4)
Me.Cmb_Level_Row5 = ActiveSheet.Cells(TemplateRow + 8, TemplateCol + 6)
Me.Cmb_Level_Row6 = ActiveSheet.Cells(TemplateRow + 8, TemplateCol + 7)
End Sub
Private Sub Opt_1Page_Click()
Call SetPages
End Sub
Private Sub Opt_2Page_Click()
Call SetPages
End Sub
Sub SetPages()
'Application.EnableEvents = False
If Opt_1Page = True Then
Sheets("Final").PageSetup.PrintArea = "$A$1:$P$61" 'after setting
the printarea, the debugger jumps up to the cmb_template_Change, but only if
you changed the combo at least once!!!!
Call secondpage(False)
Else
Sheets("Final").PageSetup.PrintArea = "$A$1:$P$122"
Call secondpage(True)
End If
'Application.EnableEvents = True
End Sub
Private Sub UserForm_Initialize()
Sheets("Layout").Select
Call SetPages
End Sub
------------------------------------------------------------------------------------------------
Thanks again for any help
Carlo
"Sandy" wrote:
Try setting Application.EnableEvents = False, then setting it to true
when you are finished. If this doesn't work post the code for the combo
box change event, and the code for the changing of the print area
HTH
Sandy
Carlo wrote:
Hi everybody
by changing the printarea of a sheet with VBA, my code jumps to the onchange
code of a Combobox, which has nothing to do with the printarea.
To be more precisely: after initializing the form, the changing of the
printarea
works fine, after using the combobox, the changing of the printarea triggers
the
onchange event of the combobox. It's always the same combobox!
In the code of the combobox i change the printarea too, but that shouldn't
be the
problem, because it shouldn't get activated at all!
Anyone had some similar issues?
Thanks for any help
Carlo
|