如何使用ComboBoxes作为选择器计算行中的数据?

时间:2014-12-07 20:44:59

标签: excel vba excel-vba

example我是否可以选择,例如,在ComboBox1中开始日期06/10/2014,在ComboBox2中结束6/20/2014。当我按下计算时,Excel会在这些日期之间选择行并在Sheet2中收集它们,在A1中选择了多少天,在B1中选择了总数,依此类推。这是我用于ComboBoxes的代码:

`Private Sub UserForm_Initialize()

Set Sheet = Worksheets("Sheet1")

`With Sheet
    `ComboBox1.List = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Value
    `ComboBox2.List = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Value
`End With

End Sub

2 个答案:

答案 0 :(得分:0)

将选定日期保存到Sheet2上的某些单元格中,然后使用带有这些日期的Excel SUMIFS和COUNTIFS公式来获取结果。这个解决方案对你有用吗?

答案 1 :(得分:0)

这不会按原样运作,但希望它能让您了解实现结果的一种方法。

确定所选项目对应的行

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为我工作)

Sum = 0
R = Row1

Do
    Sum = Sum + Sheet.Cells(R,2).Value2
    R = R + 1
    If R > Row2 Then Exit Do
Loop