社区
VBA
帖子详情
VBA问题,急!!!
xiaoyi1979
2003-08-29 09:17:55
VBA 用outlook发送邮件时,mailitem什么属性可以知道邮件是否正在发送?
请尽可能详细一点!!!
...全文
41
回复
打赏
收藏
VBA问题,急!!!
VBA 用outlook发送邮件时,mailitem什么属性可以知道邮件是否正在发送? 请尽可能详细一点!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
零基础学Excel
VBA
零基础学Excel
VBA
...这是对
VBA
基础的学习.一步一步来,不要
急
,有一天会有柳暗花明的一天.
SQL语言与excel。
VBA
结和
EXCEL里使用SQL的方法(欢乐小爪原创)
急
用EXCEL的SQL用法,抄来欢乐小爪几篇文章,支持原创,留下小爪印:http://hi.baidu.com/huanhuanxiaozhua/blog EXCEL(
VBA
)~SQL 经典写法范本汇集(一) 2007-12-10 21:20 编前话:为了更系统的学习sql语句,小爪首次系统的汇集sql 需引用 microsoft activeX Data Objects 2.8 library 1.sql = "select 构件名称,构件代号,横长度,横数量,竖长度,竖数量,比重,相应工艺 from [参数$B2:K1916]where (大样代码='" & DYDH & "') and (内外框='WKXC')" 2.sql = "select 构件名称,构件代号,横长度,横数量,竖长度,竖数量,比重,相应工艺 from [参数$B2:K" & CSMaxrow & "] where (大样代码='" & DYDH & "') and (内外框='WKXC')" **************************************************************** A、根据本工作簿的1个表查询求和写法范本 Sub 查询方法一() Set CONN = CreateObject("ADODB.Connection") CONN.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName sql = "select 区域,存货类, sum(代销仓入库数量),sum(代销仓出库数量),sum(日报数量)from [sheet4$a:i] where 区域='" & [b3] & "' and month(日期)='" & Month(Range("F3")) & "' group by 区域,存货类" Sheets("sheet2").[A5].CopyFromRecordset CONN.Execute(sql) CONN.Close: Set CONN = Nothing End Sub ----------------- Sub 查询方法二() Set CONN = CreateObject("ADODB.Connection") CONN.Open "dsn=excel files;dbq=" & ThisWorkbook.FullName sql = "select 区域,存货类, sum(代销仓入库数量),sum(代销仓出库数量),sum(日报数量)from [sheet4$a:i] where 区域='" & [b3] & "' and month(日期)='" & Month(Range("F3")) & "' group by 区域,存货类" Sheets("sheet2").[A5].CopyFromRecordset CONN.Execute(sql) CONN.Close: Set CONN = Nothing End Sub ************************************************************************************************** B、根据本工作簿2个表的不同类别查询求和写法范本 Sub 根据入库表和回款表的区域名和月份分别求存货类发货数量和本月回款数量查询() Set conn = CreateObject("adodb.connection") conn.Open "provider=microsoft.jet.oledb.4.0;" & _ "extended properties=excel 8.0;data source=" & ThisWorkbook.FullName Sheet3.Activate Sql = " select a.存货类,a.fh ,b.hk from (select 存货类,sum(本月发货数量) " _ & " as fh from [入库$] where 存货类 is not null and 区域='" & [b2] _ & "' and month(日期)=" & [d2] & " group by 存货类) as a" _ & " left join (select 存货类,sum(数量) as hk from [回款$] where 存货类" _ & " is not null and 区域='" & [b2] & "' and month(开票日期)=" & [d2] & "" _ & " group by 存货类) as b on a.存货类=b.存货类" Range("a5").CopyFromRecordset conn.Execute(Sql) End Sub ******************************************************************* C、根据本文件夹下其他工作簿1个表区域的区域求和 Sub 在工作表1汇总本文件夹下001工作薄的表1分数列查询汇总() Set conn = CreateObject("ADODB.Connection") conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(分数) from [sheet1$]" Sheets(1).[a2].CopyFromRecordset conn.Execute(sql) conn.Close: Set conn = Nothing End Sub --------------------- Sub 在工作表1汇总本文件夹下001工作薄的表1A1:A10查询汇总() Set conn = CreateObject("ADODB.Connection") conn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(f1) from [sheet1$a1:a10]" Sheets(1).[A5].CopyFromRecordset conn.Execute(sql) conn.Close: Set conn = Nothing End Sub ----------------------- Sub 在工作表1汇总本文件夹下001工作薄的表1分数列A1:A7查询并msgbox表达汇总() Set conn = CreateObject("ADODB.Connection") Set rr = CreateObject("ADODB.recordset") conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(分数) from [sheet1$a1:a7]" Sheets(1).[A8].CopyFromRecordset conn.Execute(sql) rr.Open sql, conn, 3, 1, 1 MsgBox rr.fields(0) conn.Close: Set conn = Nothing End Sub ****************************************************************************************** D、根据本文件夹下其他工作簿多个表区域的单列区域查询求和 sub 本文件夹下其他工作簿的每个工作簿的第4列 30行查询求和 Dim cn As Object, f$, arr&(1 To 30), i% Application.ScreenUpdating = False Set cn = CreateObject("adodb.connection") f = Dir(ThisWorkbook.Path & "\*.xls") Do While f <> "" If f <> ThisWorkbook.Name Then cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\" & f Range("d5").CopyFromRecordset cn.Execute("select f4 from [基表1$a5:d65536]") cn.Close For i = 1 To 30 arr(i) = arr(i) + Range("d" & i + 4) Next i End If f = Dir Loop Range("d5").Resize(UBound(arr), 1) = WorksheetFunction.Transpose(arr) Application.ScreenUpdating = True End Sub ************************************************************************************************** E、根据本文件夹下其他工作簿多个表区域的多列区域查询求和 sub 本文件夹下其他工作簿的每个工作簿的第B\C\D列 25行查询求和 Dim cn As Object, f$, arr&(1 To 25, 1 To 3), i% Application.ScreenUpdating = False Set cn = CreateObject("adodb.connection") f = Dir(ThisWorkbook.Path & "\*.xls") Do While f <> "" If f <> ThisWorkbook.Name Then cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\" & f Range("b6").CopyFromRecordset cn.Execute("select f2,f3,f4 from [基表3$a6:e65536]") cn.Close For i = 1 To 25 For j = 1 To 3 arr(i, j) = arr(i, j) + Cells(i + 5, j + 1) Next j Next i End If f = Dir Loop Range("b6").Resize(UBound(arr), 3) = arr Application.ScreenUpdating = True End Sub *********************************************************************************** F、其他相关知识整理 ' 用excel SQL方法 'conn是建立的连接对象,用open打开 ' 通过 CreateObject("ADODB.Connection") 这一句建立了一个数据库连接对象conn ' 在工程中就不再需要引用“Microsot ActiveX Data Objects 2.0 Library“ 对象 '设置对象 conn 为一个新的 ADO 链接实例,也可以用 set conn = New ADODB.Connection。 -------------- ' conn.Close表示关闭conn连接 ' Set conn = Nothing 是把连接对象conn置空,不然你退出了文件,但数据库还没有关闭 conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls"能把这段含义具体解释一下吗? '这里的dbq的作用? '------------------ 'dsn是缩写,data source name数据库名 是 excel file ' 'dbq 也是缩写,data base query 意思是数据库查询,后接源库文件名 001.xls '--------------------- '代码中长单词怎么记住的? '比如copyfromrecordset可以拆开记忆,copy、from、recordset 这三个单词意思知道吧,就是“复制、从、记录集” '----------------- 'Sql = "select sum(分数) from [sheet1$]"这里加"分数"两字什么作用? ' 'SQL一般结构是select 字段 from 表,意思是从指定的表中查询字段,字段的理解可以是:表 中的列名 ' '分数 是001.xls文件的sheet1第一行A列的字段名,SQL一般以字段来识别每列数据 '------------------- '为什么要用复制的对象引用过来计算呢? ' '因为Sql语句只是对源数据库的字段找到了符合条件的的数据,但不会自动复制到汇总表来,所以需要复制copy ' '注意 这里的 [sheet1$]" ,001文件的数据存放地上sheet1表,应当用方括号并加上$ ' '如果源数据文件001不是excel,而是Access,则引用表时,不需要加方括号,也不要$ '----------------- 还有,这里Execute表示什么作用? '' Execute是执行SQL查询语句的意思 ----------------------------- 如果不要字段也可以,那么在打开语句中加上:hdr=no '这样没有分数字段也可实现 'SQL语句我换了形式,而且加上了hdr=no,即无需字段,而且我在SQL中用了sum(f1),f1表示第一列数据 '[sheet1$a1:a10] "是只求a1:a10区域的和" ********************************************** 编后话: 前面也多次听说了sql,总没有时间,也没有好好认识它 第一次认真系统学习sql语句,汇集了一些代码。 有不同理解的人,欢迎给予小爪评论,小爪只爱excel
geokit2012免费版地球化学数据处理程序.rar
软件介绍: GeoKit是用 Microsoft Excel Visual Basic(
VBA
)宏语言开发而成的一组地球化学数据处理程序,其开发环境为:WinXP\Microsoft Office2003\Excel2003 因此必需运行在如下系统中:Windows 9x/XP Microsoft Office97/2000/XP/2003安装本程序前您的系统中必需已经安装了上述软件。安装后,系统会在您的Excel窗口的菜单栏的最右边自动生成一个名为“GeoKit(G)”下拉式菜单,通过该菜单您可方便地调用各功能模块。安装前请您务必关闭 Excel !!!请您再检查一下,如果还没有关闭,现在关闭还来得
急
!!!geokit是免费软件,您可以以任何方式复制、传播本软件,也可以向您的朋友及同事推荐使用本软件。您在使用本程序进行数据处理后发表,请将一个用
VBA
构建的地球化学工具软件包列为参考文献。
SQL语言与excel使用方法
EXCEL里使用SQL的方法(欢乐小爪原创)
急
用EXCEL的SQL用法,抄来欢乐小爪几篇文章,支持原创,留下小爪印:http://hi.baidu.com/huanhuanxiaozhua/blog EXCEL(
VBA
)~SQL 经典写法范本汇集(一)
年会抽奖程序 (1).xlsm
简单实用的公司内部抽奖程序,抽奖为动态滚动方式,可设置每次的抽奖内数,在本公司年会上使用过效果非常好,简单好用,有
急
用的可以参考一下,每次抽中的人员在下一轮中都会被排除掉不会重复,而且抽奖结果自动写入到单独的表,并且每个奖项都会单独隔开方便识别中奖人员
VBA
2,462
社区成员
10,807
社区内容
发帖
与我相关
我的任务
VBA
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
复制链接
扫一扫
分享
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章