Vba 如何使用组合框作为选择器计算行中的数据?

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

我是否可以在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和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