Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2497|回复: 8

[已解决]把代码放在 类模块里应该怎样在工作表里调用啊

[复制链接]
发表于 2013-9-12 14:56 | 显示全部楼层 |阅读模式
本帖最后由 qhllqhll 于 2013-9-12 15:09 编辑

把分解开的代码放到 类模块里 应该怎样调用
谢谢

复件 6662.rar (14.72 KB, 下载次数: 11)
发表于 2013-9-12 15:34 | 显示全部楼层
类模块的要用的话,必须用NEW实例化。
不能直接调用的。
不知道VBA中是否有静态类的概念。
回复

使用道具 举报

 楼主| 发表于 2013-9-12 16:05 | 显示全部楼层
hwc2ycy 发表于 2013-9-12 15:34
类模块的要用的话,必须用NEW实例化。
不能直接调用的。
不知道VBA中是否有静态类的概念。

请问:烟花版主 new实例化是什么意思啊?
能否封装到 vb6.0里的模块里啊?
谢谢
回复

使用道具 举报

发表于 2013-9-12 16:18 | 显示全部楼层
qhllqhll 发表于 2013-9-12 16:05
请问:烟花版主 new实例化是什么意思啊?
能否封装到 vb6.0里的模块里啊?
谢谢

将你的 Call dy(CSng(X), CSng(Y))  改为以下的就行了

  1. Dim Le As New 类1
  2.     Le.dy CSng(X), CSng(Y)
复制代码
实例化,意思是在类型前面添加  new 关键字,即 该变量 声明后可直接使用,无需使用 赋值语句

代码都可以用 VB6.0 进行封装,但是需要要按照其使用规则及封装要求进行,否则封装后的代码不能正常使用

回复

使用道具 举报

发表于 2013-9-12 16:22 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  2.     Dim a As 类1
  3.     Set a = New 类1
  4.     Call a.dy(CSng(X), CSng(Y))
  5. End Sub
复制代码
回复

使用道具 举报

发表于 2013-9-12 16:23 | 显示全部楼层
这样写,直接放模块有啥区别了。

回复

使用道具 举报

发表于 2013-9-12 16:25 | 显示全部楼层
而且你用sheet2.button,要是按钮不放sheet2呢。

回复

使用道具 举报

 楼主| 发表于 2013-9-12 16:26 | 显示全部楼层
无聊的疯子 发表于 2013-9-12 16:18
将你的 Call dy(CSng(X), CSng(Y))  改为以下的就行了实例化,意思是在类型前面添加  new 关键字,即 该变 ...

大师您好:麻烦您给我一个附件好吗?非常感谢
回复

使用道具 举报

 楼主| 发表于 2013-9-12 16:46 | 显示全部楼层
本帖最后由 qhllqhll 于 2013-9-12 16:56 编辑
hwc2ycy 发表于 2013-9-12 16:22


请问恩师:明白了
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 11:07 , Processed in 0.314271 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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