经典Excel_语句_经典excel语句
经典Excel_语句由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“经典excel语句”。
EXCEL(VBA)~SQL 经典写法范本汇集2008年03月30日 星期日 下午 07:21EXCEL(VBA)~SQL 经典写法范本汇集
****************************************************************
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 & “ 01.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 & “ 01.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 & “ 01.xls”
sql = “select sum(分数)from [sheet1$a1:a7]”
Sheets(1).[A8].CopyFromRecordset conn.Execute(sql)
rr.Open sql, conn, 3, 1,1MsgBox 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 本文件夹下其他工作簿的每个工作簿的第BCD列 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 2
5For j = 1 To
3arr(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 & “ 01.xls”能把这段含义具体解释一下吗? '这里的dbq的作用?
'------------------
'dsn是缩写,data source name数据库名 是 excel file
'dbq 也是缩写,data base query 意思是数据库查询,后接源库文件名 001.xls
'---------------------
'代码中长单词怎么记住的?
句子的一致性:指句子结构完整,时态、语态,语气及句式的一致,举重个部分共同表达一个独立、完整的思想。句子各成分之间的关系应协调,连贯,自然平稳。 下面来看一下句子不统一的几......
1·【心理学上说,人们大多数只对有安全度的人发脾气】因为在那个安全度之内。你潜意识知道对方不会离开你。胡闹有时候是一种依赖。2·【你的钱包选对颜色了吗】红色:很容易把......
进化不完全的生命体,基因突变的外星人,幼稚园程度的高中生,先天蒙古症的青蛙头,圣母峰雪人的弃婴,化粪池堵塞的凶手,非洲人搞上黑的后裔,阴阳失调的黑猩猩,被诺亚方舟压过的河马,新火......
给人留下好印象10个细节1.接电话先报自己姓名;2.谈论大家感兴趣的事;3.陈述意见时能归纳成若干项;4.衣着端庄挺直腰杆;5.主动打招呼和倾听别人说话;6.提出自己独道见解;7.聚会上班......
爱情就像两个拉着橡皮筋的人,受伤的总是不愿意放手的那一个。1、幸福五大原则:心中无恨;脑中无忧;生活简单;多些付出;少些期待。2、生活就是用一种焦虑代替另一种焦虑,用一种欲望代......
