打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何在Excel中使用SQL语言?

EH看见星光 VBA编程学习与实践 3天前

HI,大家好,我是星光。

江湖有云,数据分析入门有三个必备的工具:SQL获取数据、Excel分析数据、PPT呈现数据。

其中SQL锋利如刀,入门即可实战。几乎任何一款强大的工具或语言都少不了SQL的影子,Excel也不例外;它既可以给透视表插上翅膀,又可以和VBA搭配作战,还可以同PowerBI称兄道弟。

那么如何在Excel中使用SQL呢?

有三种方法▼

第一种是MS Query法,很少用,越来越少用,略。

第二种是OLE DB法,通常指的也就是透视表法。

操作演示动画如下..▼

图文说明如下..▼

在Excel【数据】选项卡下单击【现有链接】,在弹出的【现有链接】对话框中,单击【浏览更多】,选取目标文件后,依次【确定】,得到下面的【导入数据】对话框。

          

单击【属性】按钮后,得到【链接属性】对话框,再单击【定义】选项卡,即可在【命令文本】编辑框中输入SQL语句,然后【确定】执行即可。

          

这种方法通常搭配数据透视表(上图显示方式选择【数据透视表】),此时SQL获取的记录集会自动成为透视表的缓存数据源,也可以搭配Power Pivot(高级版本Excel勾选上图的【将此数据添加到数据模型】)。

……

对于没有VBA基础的朋友来说,通常推荐这种方法,只要会写SQL查询语句,就可以直接使用了。

不过——如果你会用VBA,就更推荐VBA+ADO+SQL的方法。

和第2种方法相比较,该法的优点在系列文里已经说过很多了,其实最重要的就两点,掰手指头:

1,借助VBA,SQL语句可以使用变量,更加灵活自由。

2,借助ADO,对数据,SQL除了查询以外,还可以增改删。

对于VBA代码连面都不熟的朋友而言,是不是就不能使用VBA执行SQL了呢?

并不是。

VBA执行SQL语句有一个固定的套路。

哪怕你连VBA代码一句都看不懂也没关系,只要知道如何复制运行VBA代码(如何运行VBA代码?其实很简单),以及知道在哪里写入SQL语句就可以了。


复制以下VBA代码:其中
第11行代码用于填写SQL语句第14行代码指定存放SQL查询结果的工作表

代码如看不全,可以左右拖动..▼

Sub ByADO_SQL()    Dim cnADO As Object    Dim rsADO As Object    Dim strSQL As String    Dim i As Long    Set cnADO = CreateObject("ADODB.Connection")    Set rsADO = CreateObject("ADODB.Recordset")    cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _        & "Extended Properties=Excel 12.0;" _        & "Data Source=" & ThisWorkbook.FullName    strSQL = "SELECT *  FROM [A$] " '//此处写入SQL代码    Set rsADO = cnADO.Execute(strSQL)    '//将工作表名称修改为实际放置查询数据的工作表名称▼    Worksheets("工作表名称").Select    Cells.ClearContents    For i = 0 To rsADO.Fields.Count - 1        Cells(1, i + 1) = rsADO.Fields(i).Name    Next i    Range("A2").CopyFromRecordset rsADO    rsADO.Close    cnADO.Close    Set cnADO = Nothing    Set rsADO = NothingEnd Sub
另外需要说明两点是……


在以上VBA代码中输入的SQL语句,双引号应改为单引号,这是因为SQL语句作为字符串,外围已经存在一对双引号了,内部再使用双引号就不是很方便了。

握握爪,下期再见。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA数据库解决方案第51讲:联合函数和SQL完成多工作表汇总查询
VBA与数据库解决方案:Recordset记录集合的动态查询,并显示结果
利用VBA向一个已有的数据表中添加数据记录的方法
工作表数据与UserForm窗口的交互:如何实现数据的精确查找
完全手册Excel VBA典型实例大全:通过368个例子掌握
Excel之VBA常用功能应用篇:VBA查询Access数据库操作方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服