2010-11-04 85 views
1

所以我有一些电子表格的一些数据,我已经发现,对于所有的宏和过滤和forumlas我已经写了简化并缩小它就是我想要的,它仅仅在几张表上写一些SQL就简单多了。使用Excel宏查询电子表格

我猜我想知道:是否有可能有,在某些表查询数据的工作簿宏,然后填充,结果另一片设置?如果是这样,我该怎么做?

(这是Excel 2003中)

+0

什么的Excel版本? – JNK 2010-11-04 14:41:05

+0

这是Excel 2003. – FrustratedWithFormsDesigner 2010-11-04 14:42:23

回答

2

无需为此宏。

转到DATA-> Import External Data -> Import Data然后基本上按照提示操作。您可能需要建立新的数据连接(底部为New Source),但一旦连接,您就可以在Excel中本地编写查询。

我猜有人熟悉的DB将能够很快弄明白。如果没有,here's a tutorial.

+0

太棒了!这看起来可能适合我。唯一需要补充的是源文件需要将数据保存在List(或者别的东西)中,否则Excel会抱怨没有表格。 – FrustratedWithFormsDesigner 2010-11-04 14:57:15

+0

是的,如果您正在执行复杂的逻辑,Excel也可以从视图中读取(即,如果将逻辑放在SQL中比在Excel中更容易)。 – JNK 2010-11-04 14:58:14

+0

这里的定义表名称的链接的Excel范围:http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/t0006375 .htm – FrustratedWithFormsDesigner 2010-11-04 15:10:44

0

为什么你需要使用宏时,你可以简单地查询Excel文件这样的:

SELECT Column1, Cloumn2, Column3 
FROM [SheetName$Range] 
WHERE Condition 

例子:

SELECT ProductID, Qty, Price 
FROM [SheetName$A10:C21] 
WHERE ProductID = 545 
+0

这是否在Excel 2003中工作?只是为了这个,我尝试在[Sheet1!A1:B3]'中输入公式'= select * '到工作表的单元格中(显示的范围是有效的),并且Excel一直给出一个错误,说“这个名字是无效“并突出显示[Sheet1]。还有其他一些技巧吗?我猜你实际上并不意味着这是一个公式,也许是在VBA中完成的? – FrustratedWithFormsDesigner 2013-07-03 17:31:31