excel宏数据库
❶ Excel里做的宏,下载到桌面但是显示链接不上数据库,不知道怎么解决。 显示的Erro是以下内容
方法/步骤
1
双击这个Excel文件,点击开始按钮后没有响应,也没有达到一个预期的结果,而且开始按钮与朋友发过来的截图一致都没有显示完全,点击图中开始按钮后也没有下沉的这么一个操作。
2
但是点击开始按钮后在Excel文件中发现这么一段提示信息“安全警告:宏一被禁用。”旁边有一个【选项】按钮
3
在点击【选项】按钮后弹出了一个microsoft office安全显示对话框,有一段文字进行说明大体意思就是宏被禁用,如果不信任其来源,请不要启动此内容。下方有两个选择项默认选择的是第一个即“有助于保护我避免未知内容风险”第二个即启用此内容,选择启用此内容点击【确定】
4
点击【确定】按钮后再次点击Excel文件的【开始】按钮就能够顺利打开文件了。
END
方法2/步骤
可以通过左上角的Office的图标→点击【Excel选项】→信任中心→信任中心设置→宏设置进入;也可以在上面方法点击【选项】后在左下角点击【打开信用中心】进行设置
打开信用中心设置后,选择【宏设置】。注:在宏设置中设置相对于在上面方法提示信息中设置的不同就是一个一劳永逸的效果,在宏设置后会保存以后遇到宏的问题也会生效,避免了以后重复的操作。
宏设置提供了4种可以永远选择的选项,第一个是禁用所有的宏,不会通知,第二个是禁用宏但是会通知,选择这一个的好处就是能够有提示以后遇到问题不能打开时知道原因所在,第三个是一个数字签署的认证,有认证信息的将会得到通过否则会拒绝,第四个启用所有宏这个任何都可以运行,但是安全级别显然就是最低的了。具体选择看读者具体情况。
设置后保存,关闭Excel重新打开这个Excel文件,保存生效,点击就不会再出现警告提示了。
❷ excel里面宏写的vba,数据库能单独进行数据库整合嘛
vba是在最初组织旧版评教系统时就接触过的,但一直没研究过,也没仔细看过。只知道它可以整理数据。
了解:
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。——来自网络
背景:
这次使用vba是因为:这次评教最初用的外网,连的万达238的数据库,但由于服务器出现问题,及时更换了局域网,连的校内207的库。之后万达服务器恢复后,又继续用外网。即:评教的数据在两个数据库中。这样对统计成绩就造成了一定的困难。——如何对成绩进行整合??
解决:
其实在这里用vba,就相当于把excel当成数据库,对其进行操作。
我是先把成绩分别导出来,也就是有两份成绩单。每一份都不完整:有可能一个老师,一部分学生给的分在1个库中,另一部分的分在另一个库。这样统计出来成绩就是这样的:
数据库1:
数据库2:
vba代码:
'作 者:赵寒-借鉴师哥旧版vba
'时 间:2016-6-19 19:52:10
'过程说明:此过程为多个库中评教数据合并专用过程。主要功能是计算某教师、某课程在多个库中学生评分
' 的平均值。
'使用说明:处理的Excel必须是直接从评教系统导出的Excel,不得更换Excel中列的顺序。且需要将多个成绩单数据放在同一个excel进行整合统计。
Sub formatting()
Dim rowCount As Integer '总行数
Dim colCount As Integer '总列数
Dim tempRowCount As Integer '临时行数
Dim tempColumnCount As Integer '临时列数
Dim arrResult(100) As String '存放临时结果
Dim strSheetName As String '存放原工作表名
Dim sheetResult As Worksheet '自定义的工作表
Dim n
❸ 用excel宏,连接sql数据库导出表字段数据到指定列,且加上条件判断后填充单元格
SubMacro2()
DimiAsInteger
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrCn,strSQLAsString
strCn="Provider=sqloledb;Server=XX;Database=XX;Uid=sa;Pwd=XX;"
strSQL="SELECTitem_noFROMt_bd_item_infowhereitem_clsno='LB'"
cn.OpenstrCn
rs.OpenstrSQL,cn
Worksheets("sheet1").Unprotect
DoWhileNotrs.EOF
fori=1to[a65536].end(3).row
ifrange("a"&i)<>""andrange("b"&i)=""andrange("c"&i)=""then
range("c"&i)=rs("item_no")
gotoabc
else
endif
next
abc:
rs.MoveNext
Loop
rs.Close
cn.Close
EndSub
试下
❹ excel中宏的作用和使用方法
宏的作用是,当你对一个表格有一系列的操作,同时这些操作是有固定的顺序的,而这些操作你常常需要重复去做,这样的话,你可以把这些操作做出一个宏,每次运作宏一次,就把这一系列的操作重复了一遍。 所以,宏,其实就是一个多项操作的集合。比如,有些报表是需要每月、甚至每周都要做一次的,而操作的过程是一样的,那你就可以利用宏这个功能了。 宏的使用,包括:创建宏,录制宏,编辑宏,运行宏,和删除宏等等。详细的操作,根据你使用的Excel版本的不同,略有不同,你可以参考“帮助”的功能。 至于,能不能在你的电脑内使用宏,还要看你的Excel安装过程中,有没有附带安装。宏的使用,会涉及到VB编辑器,如果想很好的使用,需要花费时间去研究。
❺ 如何在excel中通过宏来直接取得数据库中的数据
这个很简单,代码如下:
Sub C5C15_B3B13()
Dim Fo As Object, myName As String
Set Fo = Application.FileDialog(msoFileDialogFilePicker)
Fo.Title = "请选择您要复制C5:C15数据的文件:"
If Fo.Show = True Then myName = Fo.SelectedItems(1)
If myName = "" Then
MsgBox "您取消了文件选择,所以本次处理未完成,将直接退出", vbOKOnly + vbInformation
Exit Sub
End If
Dim wb as Workbook
For Each wb in Workbooks
if wb.Fullname = myName then Goto wbHasOpened
Next
set wb = workbooks.open(myname)
wbHasOpened:
Dim sh as worksheet
For each sh in wb.sheets
if sh.name = "Voice Quality" Then
[b3:B13] = sh.[c5:c15].value
Exit For
end if
Next
Msgbox "处理完成!"
wb.close True
End Sub
❻ 如何在excel中编写宏读取数据库
Subtest()
SetoExcel=GetObject(,"Excel.Application")
SetoWb=oExcel.Workbooks.Open("D: est.xls")'写你自己的Excel路径
MsgBoxoWb.Sheets("Sheet1").Range("C5")'取"Sheet1"工作表C5单元格的值
oExcel.Quit'退出Excel
EndSub
按Alt+F11打开VBE窗口,通过菜单选择“插入”-“模块”,输入以上代码。
这里采用的是后置绑定方法,无需事先加载Excel对象引用库。
如果在此过程中希望Excel窗口不可见,可在调用open方法打开Excel之前设置visible属性:
oExcel.Visible = False
❼ 如何在excel中加载宏中添加分析数据库
在excel2007版本中,添加加载项的分析工具库的功能,在“excel选项”中选择添加即可,详细操作步骤如下:
1、打开excel表格,点击左上角的office图标,在弹出的菜单中的右下角就可以看到“excel选项”,点击进入;
2、在excel选项的窗口中,可以看到加载项,选择进入相应的界面;
3、可以看到“分析工具库”加载项,处于非活动状态,在底部选择“转到”选项;
4、弹出一个新的窗口,勾选“分析工具库”最后点击“确定”选项,接下来等待excel安装完成之后,就可以使用。
❽ 我想用Excel宏编写代码来对SQL数据库进行连接和操作,请教详细的步骤或方法,重分!!!!一定加分
参考网上资料:
http://www.access-cn.com/offspace/html/32/n-532.html
一、加载ODBC宏(OFFICE2000光盘有提供)后您就可以使用该函数了。语法及示例详参《OFFICE2000帮助文档》,全篇如下:Office中国社区门户4q_Sz y0[ Z!g
连接到外部数据源并运行工作表中的查询。然后,函数 SQL.REQUEST 以数组形式返回结果,而不必运行宏。如果该函数不存在,就必须安装 Microsoft Excel 的 QDBC 加载宏(XLODBC.XLA)。Office中国社区门户(m1n:jj(alT3^
语法Office中国社区门户}}o%p&I"ev"b
SQL.REQUEST(connection_string,output_ref,driver_prompt,query_text,col_names_logical)
.I3ow{0FKh,]*S'A5V:Eq0
Connection_string 提供信息,如数据源名称、用户标识和口令等。这些信息对于连接数据源的驱动程序是必需的,同时它们必须满足驱动程序的格式要求。下表给出用于 3 个不同驱动程序的 3 个连接串的示例。
#RT"~6e7h&? M!`'J0
oT f'j%o)M0 驱动器 连接串
dBASE DSN=NWind;PWD=test
SQL Server DSN=MyServer;UID=dbayer; PWD=123;Database=Pubs
ORACLE DNS=My Oracle Data Source;DBQ=MYSER VER;UID=JohnS;PWD=Sesame
Office中国社区门户r;}??X7||
7V2\O e&{S I;mIT8N0
在试图连接到数据源之前,必须定义在 connection_string 中使用的数据源名称(DSN)。Office中国社区门户p.D9{8]k }
Z0k0X/@ Q6|#rAP~0 可以以数组或字符串的形式输入 connection_string。但如果 connection_string 超过 250 个字符,必须按数组的形式输入。
4_0M+Hb&At3^0Office中国社区门户b-Q0iI9p)Y
如果函数 SQL.REQUEST 不能使用 connection_string 访问数据源,则返回错误值 #N/A。 Output_ref 对用于存放完整的连接字符串的单元格的引用。如果在工作表中输入函数 SQL.REQUEST,可以忽略 output_ref。
当需要函数 SQL.REQUEST 返回完整的连接串时,可以使用 output_ref(此种情况下,必须在宏表中输入函数 SQL.REQUEST)。Office中国社区门户#^;a#C/b9r~&d
Office中国社区门户K$M'FCJXb
如果省略 output_ref,函数 SQL.REQUEST 不能返回完整的连接串。 Driver_prompt 指定驱动程序对话框的显示时机以及可用的选项。可以使用下表中所描述的数字来描述 driver_prompt。如果省略 driver_prompt,函数 SQL.REQUEST 默认为 2 。
2cX!c0~e5Rl&RT6U0 Office中国社区门户X9d7G _n
Driver_prompt 说明
1 一直显示驱动程序对话框。
2 只有在连接串和数据源说明提供的信息不够充分,以致不能完成连接时,才显示驱动程序对话框。所有对话框选项都可使用。
3 只有在连接串和数据源说明提供的信息不够充分,以致不能完成连接时,才显示驱动程序对话框。如果未指明对话框选项是必需的,这些选项是暗的,不能使用。
4 不显示对话框。如果连接不成功,则返回错误值。
{ |1@Pi)L0Office中国社区门户8_E8q4L9x]6X4J"_/C
Query_text 需要在数据源中执行的 SQL 语句。
如果函数 SQL.REQUEST 不能在指定的数据源中执行 query_text,则返回错误值 #N/A 。Office中国社区门户*`%S Hr+C7e6A1h3f
Office中国社区门户Eg.\*_H)yB
可以将引用连接到 query_text 上来更新查询。在下面的例子中,每次 $A$3 改变,函数 SQL.REQUEST 使用新的数值来更新查询。
"SELECT Name FROM Customers WHERE Balance > "&$A$3&"".
Microsoft Excel 将串长度限制在 255 个字符内。如果 query_text 超过此长度,请在垂直单元格区域中输入查询并使用整个区域作为 query_text。所有单元格的值连接在一起,形成完整的 SQL 语句。 Office中国社区门户 S,m/u(k]
Column_names_logical 指明是否将列名作为结果的第一行返回。如果要将列名作为结果的第一行返回,请将该参数设置为 TRUE。如果不需要将列名返回,则用 FALSE。如果省略 column_names_logical,则函数 SQL.REQUEST 不返回列名。
/q#H@B#Y:ji_0
返回值
如果此函数完成了它的所有功能,则返回查询结果数组或受查询影响的行数。Office中国社区门户WRBy h&O@Pll
Office中国社区门户)z*WnpE1J'E$?.@
如果函数 SQL.REQUEST 不能使用 connection_string 访问数据源,则返回错误值 #N/A。
3u'sr+~9~/yFTfmS0说明
函数 SQL.REQUEST 可以以数组的形式输入。如果以数组形式输入函数 SQL.REQUEST,该函数将返回一个恰好填充选定区域的数组。Office中国社区门户 cq8Xq ]NS
Office中国社区门户(^T%b7@ ]y
如果单元格区域大于结果集,函数 SQL.REQUEST 向返回的数组添加空单元格,直至增加到所需要的大小。
;Y"X;FA,kW0
+Lu"l5@?0 如果结果集大于以数组形式选定的输入区域,函数 SQL.REQUEST 返回整个数组。Office中国社区门户]/y){ Q sIX
Office中国社区门户1c#ZY8`7n$YRp&x
函数 SQL.REQUEST 参数的次序与 Visual Basic for Application 中函数 SQLRequest 的参数次序不同。
Office中国社区门户"C!pK p9O6BnlPj
示例
6c!s3F^-TzT_0
假设需要对名为 DBASE4 的 DBASE 数据库进行查询。如果在单元格中输入下列公式,将会返回查询结果数组,其中第一行是列名:Office中国社区门户B9]4[RqK_wc
SQL.REQUEST("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2,
"Select Custmr_ID, Due_Date from Orders WHERE order_Amt>100", TRUE)二、用“数据”菜单上的“获取外部数据”-“新建数据库查询”向导获取数据库数据。用该向导取得数据后,以后该工作表的数据以后会随数据动态更新(在不移动数据源文件的前提下)。注意:请仔细设置外部数据表的属性,会有更多收获。
以上答案供参考
❾ Excel宏是否可以直接操作MySQL数据库
可以
我现在有一张每周更新的excel销售订单表,于是我把excel另存为UTF-8编码方式的.csv文件(当前已支持Excel,可以省略此步骤),上传到QuickBI中。
注:如数据源换成Mysql、Sqlserver等其他数据库,以下操作步骤类似,依然适用。
❿ 如何对Excel 宏 按照数据库的方式统计分析
Excel2007如何加载宏进行数据分析_网络经验 http://jingyan..com/article/647f01158297de7f2148a8e0.html