Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 工作表函数。带范围的中值问题_Vba_Excel - Fatal编程技术网

Vba 工作表函数。带范围的中值问题

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"

我有一个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" & 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,是的,它确实返回了一个错误:),但这很好。谢谢!