ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:736.41KB ,
资源ID:9819240      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9819240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VBA代码全集模板.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VBA代码全集模板.docx

1、VBA代码全集模板一、引用相对引用B4绝对引用$B$4混合引用$B4、B$4 F4进行引用切换,$在字母前面则锁定列,在数字前面则锁定行。二、Worksheet_Change 事件:1.在单元格中C4=VLOOKUP(B4,简码表!$B$4:$C$1000,2,FALSE)2. Worksheet_Change事件代码:Private Sub Worksheet_Change(ByVal Target As Range)On error resume nextIf Target.Row 3 And Target.Column = 2 Theni = Target.RowCells(i, 3)

2、= Application.WorksheetFunction.VLookup(Cells(i, 2), Sheets(简码表).Range(b4:c100), 2, False)End IfEnd Sub备查代码:Private Sub Worksheet_Change(ByVal Target As Range)On Error Resume NextIf Target.Row 3 And Target.Column = 5 Theni = Target.RowCells(i, 6) = Application.WorksheetFunction.VLookup(Cells(i, 5),

3、Sheets(类款项).Range(b2:e2000), 2, False)Cells(i, 7) = Application.WorksheetFunction.VLookup(Cells(i, 5), Sheets(类款项).Range(b2:e2000), 3, False)Cells(i, 8) = Application.WorksheetFunction.VLookup(Cells(i, 5), Sheets(类款项).Range(b2:e2000), 4, False)End IfEnd Sub三、相乘Sub 计算金额()Application.ScreenUpdating =

4、FalseDim i As LongDim irow As Longirow = Range(a3).End(xldown).RowFor i = 4 To irowCells(i, 3) = Cells(i, 1) * Cells(i, 2)Next iApplication.ScreenUpdating = TrueEnd Sub四、相减Sub 相减()Application.ScreenUpdating = FalseRange(c3:c10000).ClearContentsDim i As LongDim irow As Longirow = Range(a5000).End(xlU

5、p).RowFor i = 3 To irowCells(i, 3) = VBA.Round(Cells(i, 1) - Cells(i, 2), 2)Next iApplication.ScreenUpdating = TrueEnd Sub五、高级筛选 (工具-宏-录制新宏,宏名改成高级筛选)Sub 高级筛选() Sheets(业务).Range(A3:I10000).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=ActiveCell.Range(A1:B1), Unique:=TrueEnd Sub六、双击事件1.插入-名称-定义

6、(修改名称和引用位置)2查看代码-插入-用户窗体 工具箱-多页、列表框-右键属性点击page1修改caption为资产类-点击空白列表框修改rowsource为box1依次类推3. 业务表-查看代码 Worksheet beforedoubleclickPrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Row 3 And Target.Column = 6 ThenUserForm1.ShowSheets(初始化).Range(m3) = ActiveCellEl

7、seIf Target.Row 3 And Target.Column = 7 ThenUserForm2.ShowEnd IfEnd Sub备查代码:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Row 3 And Target.Column = 6 ThenUserForm1.ShowSheets(初始化).Range(c2) = ActiveCellElseIf Target.Row 3 And Target.Column = 7 ThenUserFor

8、m2.ShowSheets(初始化).Range(f2) = ActiveCellElseIf Target.Row 3 And Target.Column = 8 ThenUserForm3.ShowEnd IfEnd Sub4右键点击Userform1查看代码 Listbox1 dbclickPrivate Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 6) = ListBox1.List(ListBox1.ListIndex, 0)Unload M

9、eEnd SubPrivate Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 6) = ListBox1.List(ListBox2.ListIndex, 0)Unload MeEnd SubPrivate Sub ListBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 6) = ListBox1.List(ListBox3.Lis

10、tIndex, 0)Unload MeEnd SubPrivate Sub ListBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 6) = ListBox1.List(ListBox4.ListIndex, 0)Unload MeEnd SubPrivate Sub ListBox5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 6) = ListBox1

11、.List(ListBox5.ListIndex, 0)Unload MeEnd Sub见上图5.插入用户窗体 右键点击userform2 worksheet dblclick Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)ActiveSheet.Cells(ActiveCell.Row, 7) = ListBox1.List(ListBox1.ListIndex, 0)Unload MeEnd SubUserform initializePrivate Sub UserForm_Initialize()

12、Application.ScreenUpdating = FalseWith Sheets(初始化)Sheets(科目表).Range(h2:i10000).AdvancedFilter Action:=xlFilterCopy, _CriteriaRange:=.Range(m2:m3), CopyToRange:=.Range(n2), Unique:=TrueEnd WithApplication.ScreenUpdating = TrueEnd Sub七单位汇总(sumif),单条件汇总=SUMIF(业务!$D$4:$D$1000,单位汇总!$A15,业务!I$4:I$10000)Su

13、b 单位汇总1()Application.ScreenUpdating = Falserange(a1:i10000).ClearCells(3, 2) = 指标数Cells(3, 3) = 拨款数Cells(3, 4) = 余额Cells(1, 7) = 单位Cells(3, 7) = 单位Cells(3, 8) = 指标数Cells(3, 9) = 拨款数Sheets(业务).Range(D3:D10000).AdvancedFilter Action:=xlFilterCopy, _CopyToRange:=Range(A3), Unique:=TrueSheets(业务).Range(

14、A3:J10000).AdvancedFilter Action:=xlFilterCopy, _CriteriaRange:=Range(G1:G2), CopyToRange:=Range(G3:I3), Unique:=FalseDim i As LongDim irow As Longirow = Range(a3).End(xlDown).RowFor i = 4 To irowCells(i, 2) = Application.WorksheetFunction.SumIf(Range(g4:g10000), Cells(i, 1), Range(h4:h10000)Cells(i

15、, 3) = Application.WorksheetFunction.SumIf(Range(g4:g10000), Cells(i, 1), Range(i4:i10000)Cells(i, 4) = VBA.Round(Cells(i, 2) - Cells(i, 3), 2)Next iRange(g1:i10000).ClearApplication.ScreenUpdating = TrueEnd Sub八、多条件汇总 (连接、sumif)连接=k4&l4&m4&n4Vba:Sub 多条件汇总()Application.ScreenUpdating = FalseRange(a1

16、:p10000).ClearSheets(业务).Range(D3:G10000).AdvancedFilter Action:=xlFilterCopy, _CopyToRange:=Range(B3:E3), Unique:=TrueSheets(业务).Range(D3:I10000).AdvancedFilter Action:=xlFilterCopy, _CopyToRange:=Range(K3:P3), Unique:=FalseDim j As LongDim jrow As Longjrow = Range(k3).End(xlDown).RowFor j = 4 To j

17、rowCells(j, 10) = Cells(j, 11) & Cells(j, 12) & Cells(j, 13) & Cells(j, 14)Next jDim i As LongDim irow As Longirow = Range(b3).End(xlDown).RowFor i = 4 To irowCells(3, 6) = 指标数Cells(3, 7) = 拨款数Cells(3, 8) = 余额Cells(i, 1) = Cells(i, 2) & Cells(i, 3) & Cells(i, 4) & Cells(i, 5)Cells(i, 6) = Applicatio

18、n.WorksheetFunction.SumIf(Range(j4:j10000), Cells(i, 1), Range(o4:o10000)Cells(i, 7) = Application.WorksheetFunction.SumIf(Range(j4:j10000), Cells(i, 1), Range(p4:p10000)Cells(i, 8) = VBA.Round(Cells(i, 6) - Cells(i, 7), 2)Next iRange(i3:p10000).ClearRange(a1:a10000).DeleteApplication.ScreenUpdating

19、 = TrueEnd Sub九、多条件汇总、adoSub 多条件汇总()Application.ScreenUpdating = FalseDim i As IntegerDim strsql As StringDim cnn As New ADODB.ConnectionDim rst As New ADODB.Recordsetcnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hdr=Yes;Data Source= & ThisWorkbook.FullNamestrsql = SELECT 单

20、位,类,款,项, sum(指标数) as 预算股指标,sum(拨款数) as 预算股拨款 from业务$a3:J10000 where 归口= & Range(h2).Value & and 月= & Range(i2).Value & GROUP BY 单位,类,款,项rst.Open strsql, cnnFor i = 1 To rst.Fields.CountSheets(多条件汇总).Cells(3, i) = rst.Fields(i - 1).NameNext iSheets(多条件汇总).Range(a4).CopyFromRecordset rstrst.Closecnn.C

21、loseSet rst = NothingSet cnn = NothingApplication.ScreenUpdating = TrueEnd Sub十、对账Sub 预算股()Application.ScreenUpdating = FalseDim i As IntegerDim strsql1 As StringDim cnn1 As New ADODB.ConnectionDim rst1 As New ADODB.Recordsetcnn1.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hd

22、r=Yes;Data Source= & ThisWorkbook.FullNamestrsql1 = SELECT 单位,类,款,项, sum(指标数) as 预算股指标 from预算股$a3:m50000 where 归口= & Range(h2).Value & and 月= & Range(i2).Value & GROUP BY 单位,类,款,项rst1.Open strsql1, cnn1For i = 1 To rst1.Fields.CountSheets(对帐).Cells(3, i + 10) = rst1.Fields(i - 1).NameNext iSheets(对帐

23、).Range(k4).CopyFromRecordset rst1rst1.Closecnn1.CloseSet rst1 = NothingSet cnn1 = NothingDim strsql2 As StringDim cnn2 As New ADODB.ConnectionDim rst2 As New ADODB.Recordsetcnn2.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hdr=Yes;Data Source= & ThisWorkbook.FullNamestrsql2 =

24、 SELECT 单位,类,款,项, sum(指标数) as 专业股指标 from专业股$a3:j50000 where 归口= & Range(h2).Value & and 月= & Range(i2).Value & GROUP BY 单位,类,款,项rst2.Open strsql2, cnn2For i = 1 To rst2.Fields.CountSheets(对帐).Cells(3, i + 19) = rst2.Fields(i - 1).NameNext iSheets(对帐).Range(t4).CopyFromRecordset rst2rst2.Closecnn2.Cl

25、oseSet rst2 = NothingSet cnn2 = Nothings = Application.WorksheetFunction.CountA(Range(k4:k10000) + 4Range(T4:W10000).Select Selection.Copy Range(K & s).Select ActiveSheet.Paste Range(X4:X10000).Select Selection.Copy Range(P & s).Select ActiveSheet.Paste Range(X3).Select Selection.Copy Range(P3).Sele

26、ct ActiveSheet.Paste Dim strsql As StringDim cnn As New ADODB.ConnectionDim rst As New ADODB.Recordsetcnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hdr=Yes;Data Source= & ThisWorkbook.FullNamestrsql = SELECT 单位,类,款,项, sum(预算股指标) as 预算股指标 ,sum(专业股指标) as 专业股指标 from对帐$k3:p5000

27、0 GROUP BY 单位,类,款,项rst.Open strsql, cnnFor i = 1 To rst.Fields.CountSheets(对帐).Cells(3, i) = rst.Fields(i - 1).NameNext iSheets(对帐).Range(a4).CopyFromRecordset rstrst.Closecnn.CloseSet rst = NothingSet cnn = NothingApplication.ScreenUpdating = TrueEnd Sub十一、sql筛选Sub 筛选()Application.ScreenUpdating =

28、FalseDim i As IntegerDim strsql As StringDim cnn As New ADODB.ConnectionDim rst As New ADODB.Recordsetcnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hdr=Yes;Data Source= & ThisWorkbook.FullNamestrsql = SELECT distinct 单位,类,款,项 from专业$a3:h10000rst.Open strsql, cnnFor i = 1 To

29、 rst.Fields.CountSheets(筛选).Cells(3, i) = rst.Fields(i - 1).NameNext iSheets(筛选).Range(a4).CopyFromRecordset rstrst.Closecnn.CloseSet rst = NothingSet cnn = NothingApplication.ScreenUpdating = TrueEnd Sub十二、sql连接、交叉汇总Sub 连接()Application.ScreenUpdating = FalseDim i As IntegerDim strsql As StringDim c

30、nn As New ADODB.ConnectionDim rst As New ADODB.Recordsetcnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Hdr=Yes;Data Source= & ThisWorkbook.FullNamestrsql = SELECT 股,月,归口,单位,类,款,项,指标数 from 专业$a3:h10000 union ALL SELECT 股,月,归口,单位,类,款,项,指标数 from 预算$a3:l10000 order by 股 descrst.Open strsql, cnnFor i = 1 To rst.Fields.CountSheets(

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2