2013-02-22 24 views
0

我正在开发一个可从dset函数或Visual Basic脚本中受益的Excel项目。我的设想是一个类似于excel的dget数据库函数的函数,但不是从满足条件的数据库/表中获取数据,而是将数据设置/插入符合条件的交叉表中。我有一个相当大的数据集,因此该功能需要高效。是否可以为Excel 2007编写dset函数

我的表将有类似这样的结构:enter image description here

我想有做的是这样的能力:

dset(NetSales,Actual,FY10,Jan,Jan_Fcst_Amt,1000) 

,其中1000是我设置的值。

我的目标是有能力提取预测方案,将其输入到一个表中,然后将其作为数据透视表的数据源。

有没有人曾经做过这样的事情。什么是最好的方法。任何帮助将不胜感激。

回答

1

这里有一个可能的方法:

创建一个隐藏的列,其串接其用于选择行(不要忘记一个字段分隔符)的列,例如=A2 & "|" & B2 & "|" & C2 & "|" & D2

在VBA函数中,使用Application.WorksheetFunction.Match()来查找组合列中行搜索字段串联的偏移量。

然后使用Application.WorksheetFunction.Match()来查找列搜索字段的偏移量。

您可以使用ActiveSheet.Cells(x,y).Formula=z设置您需要的单元格。

此方法最大限度地利用了Excel的内置函数,该函数应该比您在VBA中编写的任何内容都要快。

+0

一个非常有趣的方法。我会试试看看它是如何工作的。谢谢! – Mutuelinvestor 2013-02-22 23:05:14

相关问题