用户窗体中的列表框未显示整行值

ListBox within userform is not showing full row of values

我制作了一个用户表单 Userform,我用它来过滤一组数据并返回适合这些选择的选择。过滤工作;但是,当我将过滤后的 table 添加到列表框 (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

Any/All 帮助感谢。

没关系,我的 FilterButton 代码有一个错误,在单击过滤器按钮后,我只向 listobx 添加了 5 个值。我的错误,但它仍然只能在评论中提到的列表框中有 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

抱歉给您带来的不便,只是换了个角度来看。

谢谢大家!