ListBox в пользовательской форме не показывает полный ряд значений - PullRequest
0 голосов
/ 11 марта 2020

Я создал пользовательскую форму Пользовательскую форму , которую я использую, чтобы отфильтровать набор данных и вернуться с вариантами, подходящими для этих вариантов. Фильтрационные работы; однако, когда я добавляю отфильтрованную таблицу в список (SelectHousingList), она обрезает последние столбцы. Приведенный ниже код показывает, что я установил в списке 10 столбцов, а также горизонтальный свиток.

Private Sub AttenuationList_Click()
SelectedAttenuationText.Value = AttenuationList.Text
Worksheets("FSC PSC PFC").Range("J3").Value = SelectedAttenuationText.Value

End Sub

Private Sub CatalystDiameterList_Click()
SelectedCatalystDiameterText.Value = CatalystDiameterList.Text
Worksheets("FSC PSC PFC").Range("H3").Value = SelectedCatalystDiameterText.Value

End Sub

Private Sub ConfigurationList_Click()
SelectedConfigurationText.Value = ConfigurationList.Text
Worksheets("FSC PSC PFC").Range("L3").Value = SelectedConfigurationText.Value

End Sub

Private Sub FilterButton_Click()
Dim ws As Worksheet
Set ws = Sheet2

SelectHousingList.Clear

Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=1, Criteria1:=Worksheets("FSC PSC PFC").Range("B3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=7, Criteria1:=Worksheets("FSC PSC PFC").Range("H3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=9, Criteria1:=Worksheets("FSC PSC PFC").Range("J3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=11, Criteria1:=Worksheets("FSC PSC PFC").Range("L3")

Set Rng = Worksheets("FSC PSC 
PFC").Range("B5:B1000").SpecialCells(xlCellTypeVisible)
With SelectHousingList
.ColumnCount = 10
For Each Cel1 In Rng
.AddItem CStr(Cel1.Value)
.List(.ListCount - 1, 1) = Cel1.Offset(0, 1).Value
.List(.ListCount - 1, 2) = Cel1.Offset(0, 2).Value
.List(.ListCount - 1, 3) = Cel1.Offset(0, 3).Value
.List(.ListCount - 1, 4) = Cel1.Offset(0, 4).Value
.List(.ListCount - 1, 5) = Cel1.Offset(0, 5).Value
Next Cel1
End With

End Sub

Private Sub HousingTypeList_Click()
SelectedHousingText.Value = HousingTypeList.Text
Worksheets("FSC PSC PFC").Range("B3").Value =     
SelectedHousingText.Value

CatalystDiameterList.Clear

lastrow = Sheet2.Cells(Rows.Count, 5).End(xlUp).Row

curVal = Me.HousingTypeList.Value

For x = 6 To lastrow
If Worksheets("FSC PSC PFC").Cells(x, "B") = curVal Then
Me.CatalystDiameterList.AddItem Worksheets("FSC PSC         
PFC").Cells(x, "H")
End If
Next x


End Sub

Private Sub MaterialList_Click()
SelectedMaterialText.Value = MaterialList.Text
Worksheets("FSC PSC PFC").Range("D4").Value =         
SelectedMaterialText.Value

End Sub

Private Sub ResetButton_Click()

SelectHousingList.Clear
CatalystDiameterList.Clear
SelectedCatalystDiameterText = ""


On Error Resume Next
Worksheets("FSC PSC PFC").ShowAllData
On Error GoTo 0

End Sub

Private Sub SelectHousingList_Click()

End Sub

Private Sub UserForm_Initialize()
        'ADDING DIFFERENT HOUSING STYLES TO CHOOSE FROM
HousingTypeList.AddItem "(FSC) Catalyst Housing"
HousingTypeList.AddItem "(PFC) Catalyst Housing"
HousingTypeList.AddItem "(PSC) Catalyst Housing"

        'ADDING DIFFERENT ATTENUATION GRADES TO CHOOSE
AttenuationList.AddItem "Critical"
AttenuationList.AddItem "Hospital"
AttenuationList.AddItem "Converter Only"

        'ADDING DIFFERENT CONFIGURATIONS TO CHOOSE
ConfigurationList.AddItem "EIEO"
ConfigurationList.AddItem "EISO"
ConfigurationList.AddItem "SIEO"
ConfigurationList.AddItem "SISO"

        'ADDING DIFFERENT MATERIALS TO CHOOSE
MaterialList.AddItem "CS/CS"
MaterialList.AddItem "SS/CS"
MaterialList.AddItem "SS/SS"

End Sub

Любая / Все помощь приветствуется.

1 Ответ

0 голосов
/ 11 марта 2020

Неважно, у меня была ошибка в моем коде FilterButton, когда я только добавлял 5 значений в listobx после нажатия кнопки фильтра. Моя ошибка, но она по-прежнему может содержать только 9 столбцов в списке, как упомянуто в комментариях.

Private Sub FilterButton_Click()
Dim ws As Worksheet
Set ws = Sheet2

SelectHousingList.Clear

Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=1, Criteria1:=Worksheets("FSC PSC PFC").Range("B3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=7, Criteria1:=Worksheets("FSC PSC PFC").Range("H3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=9, Criteria1:=Worksheets("FSC PSC PFC").Range("J3")
Worksheets("FSC PSC PFC").Range("B6:Z10000").AutoFilter Field:=11, Criteria1:=Worksheets("FSC PSC PFC").Range("L3")

Set Rng = Worksheets("FSC PSC PFC").Range("B5:B1000").SpecialCells(xlCellTypeVisible)
 With SelectHousingList
 .ColumnCount = 14
 For Each Cel1 In Rng
.AddItem CStr(Cel1.Value)
**.List(.ListCount - 1, 1) = Cel1.Offset(0, 1).Value
.List(.ListCount - 1, 2) = Cel1.Offset(0, 2).Value
.List(.ListCount - 1, 3) = Cel1.Offset(0, 3).Value
.List(.ListCount - 1, 4) = Cel1.Offset(0, 4).Value
.List(.ListCount - 1, 5) = Cel1.Offset(0, 5).Value
.List(.ListCount - 1, 6) = Cel1.Offset(0, 6).Value
.List(.ListCount - 1, 7) = Cel1.Offset(0, 7).Value
.List(.ListCount - 1, 8) = Cel1.Offset(0, 8).Value
.List(.ListCount - 1, 9) = Cel1.Offset(0, 9).Value**

Next Cel1
 End With

End Sub

Приносим извинения за неудобства, просто взглянул на него по-другому, чтобы увидеть его.

Спасибо всем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...