Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello -
I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() "Dan" wrote in message ... Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Sub SelectLastWorksheet() ' Dim wkbMyWorkbook As Workbook Dim shtMyWorksheet As Worksheet Dim K As Integer ' Set wkbMyWorkbook = ActiveWorkbook K = wkbMyWorkbook.Worksheets.Count Set shtMyWorksheet = wkbMyWorkbook.Worksheets(K) shtMyWorksheet.Activate End Sub hth Gys |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On a userform?
Me.TabStrip1.Value = Me.TabStrip1.Tabs.Count - 1 Dan wrote: Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Dave -
Yes, in a user form. Your suggestion works to bring that tab "forward". My original question wasn't very clear. After that tab is "forward" or selected, I expected it to run the "mytabstrip_Change()" event. But that is where I can't seem to make it work. Normally, the user clicks on a tab. This fires the _Change() event, and the macro fills in the info for that tab. So what I need is a way in the macro to select a "default" tab, after it creates all of the tabs, and fill in the info for that tab. I tried adding Call mytabstrip_Change() but that does NOT call the _Change() event. Why is that? Thanks! dan "Dave Peterson" wrote: On a userform? Me.TabStrip1.Value = Me.TabStrip1.Tabs.Count - 1 Dan wrote: Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It did fire the _change for me--well, if I wasn't on that last tab already.
If I was already there, then that tabstrip didn't change, so it didn't fire. But if I wanted to call that _change routine, I could use: Option Explicit Private Sub CommandButton1_Click() With Me.TabStrip1 If .Value = .Tabs.Count - 1 Then 'already on the last one, so call it direct Call TabStrip1_Change Else 'do nothing special, let excel do the work .Value = .Tabs.Count - 1 End If End With End Sub Private Sub TabStrip1_Change() MsgBox Me.TabStrip1.Value End Sub Dan wrote: Thanks Dave - Yes, in a user form. Your suggestion works to bring that tab "forward". My original question wasn't very clear. After that tab is "forward" or selected, I expected it to run the "mytabstrip_Change()" event. But that is where I can't seem to make it work. Normally, the user clicks on a tab. This fires the _Change() event, and the macro fills in the info for that tab. So what I need is a way in the macro to select a "default" tab, after it creates all of the tabs, and fill in the info for that tab. I tried adding Call mytabstrip_Change() but that does NOT call the _Change() event. Why is that? Thanks! dan "Dave Peterson" wrote: On a userform? Me.TabStrip1.Value = Me.TabStrip1.Tabs.Count - 1 Dan wrote: Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan -- Dave Peterson -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks again Dave -
You helped me find the problem - why doesn't mine fire when yours does???? I have a variable that my subs use in order to PREVENT other things from firing when I don't want them to. This variable was still set. So even calling the _Change event didn't do any good, because the first thing the _Change sub does is check my variable, then exit sub. Jeez. Thanks for the help! dan "Dave Peterson" wrote: It did fire the _change for me--well, if I wasn't on that last tab already. If I was already there, then that tabstrip didn't change, so it didn't fire. But if I wanted to call that _change routine, I could use: Option Explicit Private Sub CommandButton1_Click() With Me.TabStrip1 If .Value = .Tabs.Count - 1 Then 'already on the last one, so call it direct Call TabStrip1_Change Else 'do nothing special, let excel do the work .Value = .Tabs.Count - 1 End If End With End Sub Private Sub TabStrip1_Change() MsgBox Me.TabStrip1.Value End Sub Dan wrote: Thanks Dave - Yes, in a user form. Your suggestion works to bring that tab "forward". My original question wasn't very clear. After that tab is "forward" or selected, I expected it to run the "mytabstrip_Change()" event. But that is where I can't seem to make it work. Normally, the user clicks on a tab. This fires the _Change() event, and the macro fills in the info for that tab. So what I need is a way in the macro to select a "default" tab, after it creates all of the tabs, and fill in the info for that tab. I tried adding Call mytabstrip_Change() but that does NOT call the _Change() event. Why is that? Thanks! dan "Dave Peterson" wrote: On a userform? Me.TabStrip1.Value = Me.TabStrip1.Tabs.Count - 1 Dan wrote: Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan -- Dave Peterson -- Dave Peterson |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't know. Maybe one of us is special <bg.
I used xl2003 under winXP for my testing. You may want to start a new userform (in a new workbook) to see if it fires there. Dan wrote: Thanks again Dave - You helped me find the problem - why doesn't mine fire when yours does???? I have a variable that my subs use in order to PREVENT other things from firing when I don't want them to. This variable was still set. So even calling the _Change event didn't do any good, because the first thing the _Change sub does is check my variable, then exit sub. Jeez. Thanks for the help! dan "Dave Peterson" wrote: It did fire the _change for me--well, if I wasn't on that last tab already. If I was already there, then that tabstrip didn't change, so it didn't fire. But if I wanted to call that _change routine, I could use: Option Explicit Private Sub CommandButton1_Click() With Me.TabStrip1 If .Value = .Tabs.Count - 1 Then 'already on the last one, so call it direct Call TabStrip1_Change Else 'do nothing special, let excel do the work .Value = .Tabs.Count - 1 End If End With End Sub Private Sub TabStrip1_Change() MsgBox Me.TabStrip1.Value End Sub Dan wrote: Thanks Dave - Yes, in a user form. Your suggestion works to bring that tab "forward". My original question wasn't very clear. After that tab is "forward" or selected, I expected it to run the "mytabstrip_Change()" event. But that is where I can't seem to make it work. Normally, the user clicks on a tab. This fires the _Change() event, and the macro fills in the info for that tab. So what I need is a way in the macro to select a "default" tab, after it creates all of the tabs, and fill in the info for that tab. I tried adding Call mytabstrip_Change() but that does NOT call the _Change() event. Why is that? Thanks! dan "Dave Peterson" wrote: On a userform? Me.TabStrip1.Value = Me.TabStrip1.Tabs.Count - 1 Dan wrote: Hello - I have a tabstrip, and I have tabs added, the number depending on other things. I need to make a specific tab (the last one, the one with the highest index) the one that is selected. Right now, it shows the first tab (index = 0) and I can't figure out how to write code to default to the last one. Can anyone help? Thanks! dan -- Dave Peterson -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Selecting data from a specific column | Excel Discussion (Misc queries) | |||
Selecting a specific worksheet | New Users to Excel | |||
Selecting specific cells | Excel Discussion (Misc queries) | |||
Selecting Specific Sheets | Excel Programming | |||
Specific Cell Selecting | Excel Programming |