SUMIFS 的 VBA 代码?

标签 vba excel excel-2007

我正在尝试编写一个自定义函数,它可以让我从满足 x 个条件的范围内的第一行中检索一个单元格。我想这将与 SUMIFS 的工作方式非常相似,只是更简单的是它不会在第一场比赛后继续处理。

有谁知道在 VBA 中重现 SUMIFS (excel 07) 函数的代码?

因此,例如,如果我在 excel 中有一个表格,例如:

W X Y Z
a b 6 1
a b 7 2
b b 7 3

我希望能够编写一个函数,它会给我列 Z 中的值,其中列 W=a,X=b,Y>=7(换句话说,值 2)。

假设我想要的记录是唯一的并且我希望返回一个数字,SUMIFS 可以大致做到这一点。不过,就我的目的而言,这些假设是行不通的。

最佳答案

使用 ADO 的示例。

strFile = Workbooks(1).FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

'I want to be able to write a function that will give me the value '
'in column Z where columns W=a, X=b, Y>=7 '
'(in other words the value 2).' 

strSQL = "SELECT Top 1 Z " _
         & "FROM [Sheet1$] " _
         & "WHERE W='a' And X='b' And Y>=7"

rs.Open strSQL, cn

Result = rs.Fields("Z")

关于SUMIFS 的 VBA 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/428414/

相关文章:

C# 并从 Excel 文件读取值

c# - Worksheet.SaveAs ("file.csv") 在 .NET 3.5 和 .NET 4.0 中的工作方式不同

excel 2007 宏验证输入单元格的数据,如果不正确则显示 msgbox

vba - 转置 CopyFromRecordset Excel VBA

excel - 复制整行(值不是公式)VBA

excel - 如何在使用 Excel VBA 搜索后清除搜索条件和单词

sql - 大型数据集的报告工具/查看器

excel - 对于电子邮件宏没有下一个错误

c# - 使用c#在excel中选择一个工作表

vba - Excel XY 图表(散点图)数据标签无重叠