Vba 如何使用组合框作为选择器计算行中的数据?
我是否可以在ComboBox1中选择2014年10月6日开始日期,在Combox2中选择2014年6月20日结束日期。当我按calculate时,Excel会选择这些日期之间的行,并将它们收集到Sheet2中,A1中选择了多少天,B1中选择了多少天,等等。这是我用于组合框的代码:Vba 如何使用组合框作为选择器计算行中的数据?,vba,excel,Vba,Excel,我是否可以在ComboBox1中选择2014年10月6日开始日期,在Combox2中选择2014年6月20日结束日期。当我按calculate时,Excel会选择这些日期之间的行,并将它们收集到Sheet2中,A1中选择了多少天,B1中选择了多少天,等等。这是我用于组合框的代码: `Private Sub UserForm_Initialize() Set Sheet=工作表(“Sheet1”) End Sub将所选日期保存到Sheet2上的某些单元格中,然后使用Excel SUMIFS和CO
`Private Sub UserForm_Initialize()
Set Sheet=工作表(“Sheet1”)
End Sub
将所选日期保存到Sheet2上的某些单元格中,然后使用Excel SUMIFS和COUNTIFS公式计算这些日期以获得结果。这个解决方案对你有效吗?这不会像现在这样有效,但希望它能给你一个实现结果的方法
确定所选项目对应的行
Row1 = CombBox1.ListIndex + 2 ' ComboBoxes have zero-based index, and your data has headers. +2 to negate these
Row2 = ComboBox2.ListIndex + 2 ' Same again..
计算行数
RowCount = Row2 - Row1
求和值(这可能是一种非常糟糕的方法,但无法让WorksheetFunctions为我工作)
是否要将这些日期之间的行从Sheet1复制到Sheet2?或者只是把计数和b列的和放在它们之间?只是为了计数和它们之间的和行,在第2页,A列,b列。。。
RowCount = Row2 - Row1
Sum = 0
R = Row1
Do
Sum = Sum + Sheet.Cells(R,2).Value2
R = R + 1
If R > Row2 Then Exit Do
Loop