永发信息网

excel vba public函数调用相关问题?

答案:2  悬赏:80  手机版
解决时间 2021-04-07 19:59
  • 提问者网友:做自己de王妃
  • 2021-04-07 15:09
1、定义成public函数后,是在本excel工作簿中所有的过程和函数都可以调用,还是所有打开的excel工作簿都可以调用这个public函数?
2、在一个模块中定义一个public函数和在一个工作表中定义一个public函数,调用时方法一样吗?还是在工作表中定义的public函数要把workbook、worksheet都写全?
比如:在当前工作簿中的sheet(1)里定义了public函数Func1,在sheet(2)里的Func2调用Func1是写成:
方法1:Private Function Func2()
Func1
End Function
方法2:Private Function Func2()
ThisWorkBook.Sheets(1).Func1
End Function
方法1和方法2哪个对,我用方法1老是报错Func1没被定义,用方法2就没问题,为什么?
3、如果调用public函数时要把路径写全的话,如问题2中的方法2,是不是意味着不同sheet中定义的public函数可以重名呢?
4、在一个sheet中,如果直接用Range(“A1”)或Cells(1,1)是代表本sheet的单元格吧,为什么我这么用报错呢?把路径写全就可以,比如ThisWorkBook.Sheets(1).Range(“A1”),为什么?
5、事件函数,比如按钮的Click事件,CommandButton1_Click(),这个函数是在点击按钮时触发了Click事件才会被执行的呢,还是我可以在别的函数里调用这个Click函数,比如:我想在点击button2时触发button1的Click事件
Sub CommandButton1_Click()
Call CommandButton2_Click
End Sub
这样写可以吗?

问题比较多,请VBA高手来帮帮忙,解释的详细一些,最还别只回答可以不可以,我还是想知道具体的原因,回答的清楚的话再加100分,我主要是怕开始悬赏这么高的分没人回答就白白浪费了,所以如果满意的话一定加分!!
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-04-07 15:37
1.是。
2.调用方法不一样。同一个workbook里只要加sheet名就行了,好像都不需要定义成public的。
3.可以重名的
4.是不是当前sheet没有激活
5.触发click事件时才会执行。在别的函数里不可以调用,如要调用建议单独定义一个函数,两边都调用它。
我不是高手,只能回答这些了。
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-04-07 16:08
自定义的函数通常只能在相应的工作簿中使用。你可以导出这个 谁用谁添加
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯