所以我现在有一个列表框,上面有一月到十二月的月份。我想知道有没有办法让它成为子列表?所以如果他们喜欢checked Q1,那么1-3月就会被选中。
另外,我现在有以下代码:
If audienceListbox.Selected(1) = True Then
.Cells(iRow, 4).Value = "Yes"
Else: .Cells(iRow, 4).Value = "No"
End If
If audienceListbox.Selected(2) = True Then
.Cells(iRow, 5).Value = "Yes"
Else: .Cells(iRow, 5).Value = "No"
End If
If audienceListbox.Selected(3) = True Then
.Cells(iRow, 6).Value = "Yes"
Else: .Cells(iRow, 6).Value = "No"
End If
If audienceListbox.Selected(4) = True Then
.Cells(iRow, 7).Value = "Yes"
Else: .Cells(iRow, 7).Value = "No"
End If
If audienceListbox.Selected(5) = True Then
.Cells(iRow, 8).Value = "Yes"
Else: .Cells(iRow, 8).Value = "No"
End If
If audienceListbox.Selected(6) = True Then
.Cells(iRow, 9).Value = "Yes"
Else: .Cells(iRow, 9).Value = "No"
End If
If audienceListbox.Selected(7) = True Then
.Cells(iRow, 10).Value = "Yes"
Else: .Cells(iRow, 10).Value = "No"
End If
If audienceListbox.Selected(8) = True Then
.Cells(iRow, 11).Value = "Yes"
Else: .Cells(iRow, 11).Value = "No"
End If
If audienceListbox.Selected(9) = True Then
.Cells(iRow, 12).Value = "Yes"
Else: .Cells(iRow, 12).Value = "No"
End If
If audienceListbox.Selected(10) = True Then
.Cells(iRow, 13).Value = "Yes"
Else: .Cells(iRow, 13).Value = "No"
End If
If audienceListbox.Selected(11) = True Then
.Cells(iRow, 14).Value = "Yes"
Else: .Cells(iRow, 14).Value = "No"
End If
If audienceListbox.Selected(12) = True Then
.Cells(iRow, 15).Value = "Yes"
Else: .Cells(iRow, 15).Value = "No"
End If有没有更好的方法来编写这个循环?现在,我在第12个选定的属性上收到一个错误,说它找不到它,尽管我的列表上有12个选项(1-12月)。
对不起,我昨天才开始使用VBA,所以我还在摸索基础知识。
发布于 2016-06-21 21:25:48
这里有一个重写的选择。
至于将列分组在一起,你看起来是按季度(日历)完成的吗?
如果为真,您可以改为按季度进行选择。如果您想要自定义分组,请将分组添加到一个二维数组中并循环它们。
Public Sub Tester()
Dim MonthNumber As Byte
Dim ColumnNumber As Integer: ColumnNumber = 4
For MonthNumber = 0 To 11
If audienceListbox.Selected(MonthNumber) Then
Cells(iRow, ColumnNumber).Value = "Yes"
Else
Cells(iRow, ColumnNumber).Value = "No"
End If
'Increase the column Index for each time through the loop
ColumnNumber = ColumnNumber + 1
Next
End Subhttps://stackoverflow.com/questions/37945256
复制相似问题