我正在开发一个可以从dset函数或visual basic脚本中受益的excel项目。我所设想的是一个类似于excel的dget数据库函数的函数,但它不是从满足条件的数据库/表中获取数据,而是将数据设置/插入符合条件的交集处的表中。我有一个相当大的数据集,所以功能需要高效。
我的表格将具有与此类似的结构:
我希望能够做类似的事情:
dset(NetSales,Actual,FY10,Jan,Jan_Fcst_Amt,1000)
其中1000是我正在设置的值。
我的目标是能够提取预测方案,将其输入到表中,然后该表用作数据透视表的数据源。
有没有人做过这样的事情。什么是最好的方法。任何帮助将不胜感激。
答案 0 :(得分:1)
这是一种可行的方法:
创建一个隐藏列,用于连接用于选择行的列(不要忘记字段分隔符),例如: =A2 & "|" & B2 & "|" & C2 & "|" & D2
在VBA函数中,使用Application.WorksheetFunction.Match()
查找复合列中行搜索字段串联的偏移量。
然后使用Application.WorksheetFunction.Match()
查找列搜索字段的偏移量。
您可以使用ActiveSheet.Cells(x,y).Formula=z
设置所需的单元格。
这种方法最大限度地利用了Excel的内置函数,这些函数应该比你在VBA中编写的任何函数都快。