excel中宏的使用方法是怎么样的,菜鸟一个,我的目的是想实现从系统中自动抓出数据并生成报表

excel中宏的使用方法是怎么样的,菜鸟一个,我的目的是想实现从系统中自动抓出数据并生成报表,第1张

其实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里打开加载宏之后但是没有分析数据库,求大神,要怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10194778.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存