Restrict search for VBA listbox

KDS14589

Board Regular
Joined
Jan 10, 2019
Messages
138
Office Version
  1. 2016
Platform
  1. Windows
I'm using code I received lately and now trying to restrict it to only worksheets ending in LISTS for a new listbox on a new userform.

The original code is

VBA Code:
Private Sub CommandButton1_Click()



Dim i As Integer, sht As String

For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then

sht = ListBox1.List(i)



End If

Next i

Sheets(sht).Visible = True

ShGE04.Visible = False

Sheets(sht).Activate

End

End Sub



Private Sub CommandButton2_Click()

Unload Go_To_WS

End Sub





Private Sub UserForm_Initialize()

''''NoSparks @ Mr Excel 9.6.21



Dim sh As Worksheet, shtnames As String



For Each sh In ThisWorkbook.Worksheets

If sh.Name <> ActiveSheet.Name Then

shtnames = shtnames & "|" & sh.Name

End If

Next sh



ListBox1.List = Split(Mid(shtnames, 2), "|")

End Sub



My new NONWORKING code is



VBA Code:
Private Sub CommandButton1_Click()



Dim i As Integer, sht As String

For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then

sht = ListBox1.List(i)



End If

Next i

Sheets(sht).Visible = True

ShGE04.Visible = False

Sheets(sht).Activate

End

End Sub



Private Sub CommandButton2_Click()

Unload Edit_Lists_UF

End Sub



Private Sub UserForm_Initialize()



Dim sh As Worksheet, shtnames As String

Dim ws As Worksheet

For Each sh In ThisWorkbook.Worksheets

If ws.Name Like "*.lists" Then

shtnames = ws.Name

End If

Next sh



End Sub



I'm attempting to have a VBA listbox that shows only worksheets that end in .LISTS

I've checked other forums searches (along with yours) and the web about listboxs but they seem to involve results from other sources. So simple a task and I'm lost.

After many fail attempts, I'm asking for help again. THANKS
 

johnnyL

Well-known Member
Joined
Nov 7, 2011
Messages
1,315
Office Version
  1. 2013
  2. 2007
Platform
  1. Windows
You probably didn't put the top line of code I provided as the top line of all of your code.

Your code based on the original code should look like the following:

VBA Code:
Option Compare Text


Private Sub CommandButton1_Click()
'
    Dim i As Integer, sht As String
'
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then sht = ListBox1.List(i)
    Next i
'
    Sheets(sht).Visible = True
    ShGE04.Visible = False
'
    Sheets(sht).Activate
'
    End
End Sub


Private Sub CommandButton2_Click()
'
    Unload Go_To_WS
End Sub


Private Sub UserForm_Initialize()
'
    Dim sh As Worksheet, shtnames As String
'
    For Each sh In ThisWorkbook.Worksheets
        If Right(sh.Name, 5) = "LISTS" Then shtnames = shtnames & "|" & sh.Name
    Next sh
''
    ListBox1.List = Split(Mid(shtnames, 2), "|")
End Sub
 

Excel Facts

Return population for a City
If you have a list of cities in A2:A100, use Data, Geography. Then =A2.Population and copy down.

KDS14589

Board Regular
Joined
Jan 10, 2019
Messages
138
Office Version
  1. 2016
Platform
  1. Windows
You probably didn't put the top line of code I provided as the top line of all of your code.

Your code based on the original code should look like the following:

VBA Code:
Option Compare Text


Private Sub CommandButton1_Click()
'
    Dim i As Integer, sht As String
'
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then sht = ListBox1.List(i)
    Next i
'
    Sheets(sht).Visible = True
    ShGE04.Visible = False
'
    Sheets(sht).Activate
'
    End
End Sub


Private Sub CommandButton2_Click()
'
    Unload Go_To_WS
End Sub


Private Sub UserForm_Initialize()
'
    Dim sh As Worksheet, shtnames As String
'
    For Each sh In ThisWorkbook.Worksheets
        If Right(sh.Name, 5) = "LISTS" Then shtnames = shtnames & "|" & sh.Name
    Next sh
''
    ListBox1.List = Split(Mid(shtnames, 2), "|")
End Sub
with your code inn thatt listbox code wndow i get 'debug' error 424 object required and code highlited

VBA Code:
Sub Edit_Lists_Click()
Edit_Lists_UF.Show
End Sub
 

johnnyL

Well-known Member
Joined
Nov 7, 2011
Messages
1,315
Office Version
  1. 2013
  2. 2007
Platform
  1. Windows
Ok, provide a link to the file that showed all worksheets so we can take a look at it.
 

johnnyL

Well-known Member
Joined
Nov 7, 2011
Messages
1,315
Office Version
  1. 2013
  2. 2007
Platform
  1. Windows
:( I don't have dropbox.

Try uploading it here <---

Then provide the link it gives you.
 

johnnyL

Well-known Member
Joined
Nov 7, 2011
Messages
1,315
Office Version
  1. 2013
  2. 2007
Platform
  1. Windows
You have to provide the link to the file after you have uploaded it. The link to the file will have like 6 letters on the end of it.
 

johnnyL

Well-known Member
Joined
Nov 7, 2011
Messages
1,315
Office Version
  1. 2013
  2. 2007
Platform
  1. Windows
The file you uploaded errors on the 'Edit Lists' button. I need a version that doesn't error on that, and shows all sheet names like you said it did at one time.
 

Forum statistics

Threads
1,141,284
Messages
5,705,493
Members
421,398
Latest member
Rahat Anwar

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top