
其实excel有个功能叫数据库,就是一个现成的程序。
“数据”选项卡下,自其他来源——“来自Microsoft Query ”,然后在“数据库”选项卡下点击
EXCEL FILES 确定,然后选择需要的文件信息,就可以了,最后选中“将数据返回EXCEL” 单击完成就哦了
要通过EXCEL查询指定数据库中的含 有指定字段的表名时,首先得知道查询SQL,查询SQL如下:
SELECT TABLE_NAME FROM INFORMATION_SCHEMACOLUMNS where COLUMN_NAME='字段名'
如果要写成VBA的话,下面给你一段我写的宏,测试过了:
-----------
Sub 宏7()
' 宏7 宏
ApplicationCutCopyMode = False
With ActiveSheetListObjectsAdd(SourceType:=0, Source:= _
"ODBC;DRIVER=SQL Server;SERVER=服务器IP;UID=sa;;APP=Microsoft Office 2016;WSID=GUESS;DATABASE=要查询的数据库名" _
, Destination:=Range("$A$1"))QueryTable
CommandType = xlCmdSql
CommandText = Array( _
"SELECT TABLE_NAME" & Chr(13) & "" & Chr(10) & "FROM 要查询的数据库名INFORMATION_SCHEMACOLUMNS" & Chr(13) & "" & Chr(10) & "WHERE (COLUMN_NAME='要查询的字段名')")
RowNumbers = False
FillAdjacentFormulas = False
PreserveFormatting = True
RefreshOnFileOpen = False
BackgroundQuery = True
RefreshStyle = xlInsertDeleteCells
SavePassword = False
SaveData = True
AdjustColumnWidth = True
RefreshPeriod = 0
PreserveColumnInfo = True
Dim chars As String
Dim rndstr As String
chars = "ABCDEFGHJKLMNPQRSTUVWXYZ0123456789"
Randomize
For i = 1 To 6
rndstr = rndstr & Mid(chars, Int(Rnd() Len(chars) + 1), 1)
Next
ListObjectDisplayName = rndstr
Refresh BackgroundQuery:=False
End With
End Sub
最后结果如下图:
把这个附件下载解压到你
X:\Program Files{ (x86)}\Microsoft Office\OFFICE11(/12/14)\Library
下面,重新打开Excel
注意,X:是你的Office安装盘符,{}里的内容看你的 *** 作系统和Office的位数而定。11是2003版,12是2007版,14是2010版,15是2013版
以上就是关于excel中宏的使用方法是怎么样的,菜鸟一个,我的目的是想实现从系统中自动抓出数据并生成报表全部的内容,包括:excel中宏的使用方法是怎么样的,菜鸟一个,我的目的是想实现从系统中自动抓出数据并生成报表、高手来指点,如何利用excel vba,将数据库中所有含有指定字段的表名,罗列在excel的A列、excel里打开加载宏之后但是没有分析数据库,求大神,要怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)