ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: GoodFortune

VBA封装为Dll的例子、方法与总结【逐步完善中...】

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-9-23 19:18 | 显示全部楼层
本帖已被收录到知识树中,索引项:封装
iamgxc 发表于 2011-8-19 12:36
dll文件名为sqltools
在标准模块中
dim t as new sqltools

你讲的是在模块中的运用。
dim t as new sqltools
call t.mysql(cnn)

但是在VB里怎么定义cnn变量?能不能把整个如何封装dll的VB代码都发出来下。非常感谢。

TA的精华主题

TA的得分主题

发表于 2011-10-7 12:31 | 显示全部楼层
这样的招一定要学会,哈哈!
就算VBA没学好,这招也要学会。
很脑火那些暴力破解的软件。。。一点有尊重别人的知识产权。。。

TA的精华主题

TA的得分主题

发表于 2011-10-10 13:14 | 显示全部楼层
哪位好心人,能够把下面的代码封装成DLL?我很需要在VB6.0封装DLL的原代码。这段代码的功能其实就是在Sheet1表中自动部分,然后复制到Sheet2表,Sheet1表中A列是姓名,用x = Range("a1").CurrentRegion.SpecialCells(xlCellTypeLastCell).Row来得到学生人数,但本人水平太低,无法对此封装,希望高手帮忙解决。现附所有代码
Sub 自动总分并复制到sheet2表()
Sheets("Sheet1").Select
Cells.Select
Dim ObjTmp As Object
Set ObjTmp = Selection.Find(What:="总分", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False)
If ObjTmp Is Nothing Then
      MsgBox "找不到总分字段!"
Else
        ObjTmp.Activate
        IRow = ActiveCell.Row
        ICol = ActiveCell.Column
End If
x = Range("a1").CurrentRegion.SpecialCells(xlCellTypeLastCell).Row
Cells(IRow + 1, ICol).FormulaR1C1 = "=SUM(RC3:RC[-1])"
Cells(IRow + 1, ICol).Select
Selection.AutoFill Destination:=ActiveCell.Range("A1:A" & x - 1)
Cells.Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
End Sub

自动总分并复制.rar

8.7 KB, 下载次数: 77

TA的精华主题

TA的得分主题

发表于 2011-10-17 12:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-10-17 22:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-23 23:17 | 显示全部楼层
liyunfei099 发表于 2011-10-10 13:14
哪位好心人,能够把下面的代码封装成DLL?我很需要在VB6.0封装DLL的原代码。这段代码的功能其实就是在Sheet ...

封装2.rar (12.58 KB, 下载次数: 192)

封装好了 看看

TA的精华主题

TA的得分主题

发表于 2011-11-24 08:49 | 显示全部楼层
jicqj 发表于 2011-11-23 23:17
封装好了 看看

最好执行后再加一句 set a=nothing 较好。

TA的精华主题

TA的得分主题

发表于 2011-11-24 11:06 | 显示全部楼层
qczvba 发表于 2011-11-24 08:49
最好执行后再加一句 set a=nothing 较好。

有道理 这是个好的编程习惯

TA的精华主题

TA的得分主题

发表于 2011-11-24 17:05 | 显示全部楼层
jicqj 发表于 2011-11-24 11:06
有道理 这是个好的编程习惯

哪里,你的VB6学习得不错,想学习VB6,以后多多指教。能分享一下代码吗?或用SQL编一下,即以表一为数据库,有空分享下?

TA的精华主题

TA的得分主题

发表于 2011-11-24 20:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 17:58 , Processed in 0.041498 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表