ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Use combobox value as sheetname to set sheet object (https://www.excelbanter.com/excel-programming/438818-use-combobox-value-sheetname-set-sheet-object.html)

Greg Snidow

Use combobox value as sheetname to set sheet object
 
Greetings all. I've got a userform with a combo that is populated with the
workbook sheet names with code I found here...

For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next

I would like to set a sheet object using combobox1, but I can not figure it
out. Basically this is what I want to do

Dim Ws as worksheet

Set Ws = Activeworkbook.sheet(combobox1).

Now I know this does not work, but I can't figure out how to do it. My
first thought was to have the combo box be 2 columns, one of which would
contain the index number of the sheets in the workbook. Any ideas? Thank
you.

Greg

Ryan H

Use combobox value as sheetname to set sheet object
 
Set wks = ActiveWorkbook.Sheets(ComboBox1.Text)

Hope this helps! If so, let me know, click "YES" below.
--
Cheers,
Ryan


"Greg Snidow" wrote:

Greetings all. I've got a userform with a combo that is populated with the
workbook sheet names with code I found here...

For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next

I would like to set a sheet object using combobox1, but I can not figure it
out. Basically this is what I want to do

Dim Ws as worksheet

Set Ws = Activeworkbook.sheet(combobox1).

Now I know this does not work, but I can't figure out how to do it. My
first thought was to have the combo box be 2 columns, one of which would
contain the index number of the sheets in the workbook. Any ideas? Thank
you.

Greg


Jeff

Use combobox value as sheetname to set sheet object
 
you're alomost there

Private Sub ComboBox1_Change()
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets(ComboBox1.Value)
ws.Activate

End Sub

Private Sub UserForm_Initialize()
Dim sh As Worksheet

For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next


End Sub


"Greg Snidow" wrote:

Greetings all. I've got a userform with a combo that is populated with the
workbook sheet names with code I found here...

For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next

I would like to set a sheet object using combobox1, but I can not figure it
out. Basically this is what I want to do

Dim Ws as worksheet

Set Ws = Activeworkbook.sheet(combobox1).

Now I know this does not work, but I can't figure out how to do it. My
first thought was to have the combo box be 2 columns, one of which would
contain the index number of the sheets in the workbook. Any ideas? Thank
you.

Greg


Dave Peterson

Use combobox value as sheetname to set sheet object
 
You may want to add some checks, too:

Option Explicit
Private Sub CommandButton1_Click()
Dim Ws As Object 'still any kind of sheet

Set Ws = Nothing
On Error Resume Next
Set Ws = ActiveWorkbook.Sheets(Me.ComboBox1.Value)
On Error GoTo 0

If Ws Is Nothing Then
Me.Label1.Caption = "No Sheet with that name in the active workbook"
Else
Me.Label1.Caption = ""
Ws.Activate
End If
End Sub
Private Sub UserForm_Initialize()
Dim sh As Object 'any kind of sheet
For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next sh
Me.Label1.Caption = ""
End Sub



Greg Snidow wrote:

Greetings all. I've got a userform with a combo that is populated with the
workbook sheet names with code I found here...

For Each sh In ActiveWorkbook.Sheets
Me.ComboBox1.AddItem sh.Name
Next

I would like to set a sheet object using combobox1, but I can not figure it
out. Basically this is what I want to do

Dim Ws as worksheet

Set Ws = Activeworkbook.sheet(combobox1).

Now I know this does not work, but I can't figure out how to do it. My
first thought was to have the combo box be 2 columns, one of which would
contain the index number of the sheets in the workbook. Any ideas? Thank
you.

Greg


--

Dave Peterson


All times are GMT +1. The time now is 07:15 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com