【发布时间】:2017-05-16 06:02:38
【问题描述】:
我是 VBA 新手。我正在尝试在 VBA 中完成以下事情,但不知道该怎么做。
- 在“延迟”表的“K”列中,我的日期格式为“2016 年 11 月 10 日 16:17”。 (列中会有多个日期)
- 在“O”列中,单元格“通过”或“失败”中的值很少
我想要做的是,当脚本运行时,它应该首先抛出一个对话框,要求用户输入日期范围。一旦用户给出日期范围,它应该选择那些列并在“o”列中寻找“Pass”并计算值并在特定单元格中更新它。
我尝试了以下代码,但我不确定如何使用日期范围条件添加计数值:
Sub WBR()
Dim s As String
Dim r As Range
Dim wf As WorksheetFunction
Dim xlSheet As Worksheet
Set xlSheet = ActiveWorkbook.Worksheets("Latency") 'sets the worksheet
Set wf = Application.WorksheetFunction
Set r = xlSheet.Range("O:O") 'sets the range to search
s = "Pass"
[AE4] = wf.CountIf(r, s)
s = "Fail"
[AE5] = wf.CountIf(r, s)
With ActiveWorkbook.Worksheets("TT")
[AE119] = wf.CountIfs(.Range("G:G"), "Yes", _
.Range("K:K"), "Tablet")
End With
With ActiveWorkbook.Worksheets("TT") 'no of tickets processed
[AE119] = wf.CountIfs(.Range("G:G"), "Yes", _
.Range("I:I"), "<>Duplicate TT", _
.Range("K:K"), "Tablet")
End With
结束子
【问题讨论】: