Vba 工作表函数。带范围的中值问题
我有一个userform,它将文本框输入到过滤器查询中:Vba 工作表函数。带范围的中值问题,vba,excel,Vba,Excel,我有一个userform,它将文本框输入到过滤器查询中: Dim ws1 As Worksheet, ws2 As Worksheet Dim kbnumber As String Dim lastrow As Long Set ws1 = Sheets("Incident") Set ws2 = Sheets("KB Articles") lastrow = ws1.Range("A" & Rows.Count).End(xlUp).Row ws1.Range("M1:A"
Dim ws1 As Worksheet, ws2 As Worksheet
Dim kbnumber As String
Dim lastrow As Long
Set ws1 = Sheets("Incident")
Set ws2 = Sheets("KB Articles")
lastrow = ws1.Range("A" & Rows.Count).End(xlUp).Row
ws1.Range("M1:A" & lastrow).AutoFilter field:=13, Criteria1:=txtKB
ws1.Range("B" & Rows.Count).End(xlUp).Offset(1).Select
我可以过滤掉查询,但无法得到中值
基本上,我试图通过以下方法获得中值:
worksheetfunction.median(columns(2))
但它包括列的所有值,包括隐藏的值
我需要关于如何正确实现.median函数的帮助
谢谢。如果您使用的是Excel 2010,本机工作表应可作为
kbnumber = Application.Aggregate(12, 5, ws1.Columns(2))
' or,
kbnumber = WorksheetFunction.Aggregate(12, 5, ws1.Columns(2))
有关函数的完整列表和可用选项,请参阅文档。尝试以下操作:使用
应用程序。如果需要,请评估函数。我认为您应该使用ws1.Columns(2)
,而不仅仅是Columns(2)
,否则会出现编译错误。@keongkenshih-很好的回答。恐怕我是在把我自己的编码风格强加给孤立的代码行。谢谢。事实上,您刚才编写的代码是正确的,只是您需要将与ws1一起使用和结束于,否则您将出现编译错误。您好,谢谢。为了这个。谷歌搜索了Everyhare,但从未获得聚合函数。这看起来是正确的。我已经用标准偏差计算器测试过了,它能工作!!谢谢是的,我也注意到了.columns,是的,它确实返回了一个错误:),但这很好。谢谢!