他山之石——VBA自定义函数

VBA自定义函数自己是最近才开始使用的。其好处是可在工作表中直接调用,很方便。

这里,这位老师总结的很好,学习了!

'1 什么是自定义函数?
  '在VBA中有VBA函数,我们还可以调用工作表函数,我们能不能自已编写函数呢?可以,这就是本集所讲的自定义函数
  
'2 怎么编写自定义函数?
 
   '我们可以按下面的结构编写自定义函数
  
    ' Function 函数名称(参数1,参数2....)
         
         '代码
         '函数名称=返回的值或数组
         
    ' End Function
    

'1 取得工作表总个数的自定义函数

Function shcount()

 shcount = Sheets.Count
 
End Function
Sub dd()
 MsgBox getv(Range("a7"))
End Sub


'2 取得单元格显示值的自定义函数
 
  Function getv(rg As Range)
  
    getv = rg.Text
    
  End Function
 
'3 截取字符串的函数
 
 Function jiequ(sr As String, fh As String, wz As Integer)
    
    Dim Arr
    Arr = Split(sr, fh)
    jiequ = Arr(wz - 1)
    
 End Function
  
'4 提取不重复值的个数

  Function 不重复个数(rg As Range)
   Dim d, Arr, ar
   Arr = rg
   Set d = CreateObject("scripting.dictionary")
   For Each ar In Arr
     d(ar) = ""
   Next ar
   不重复个数 = d.Count
  End Function
 Sub test()
  
  MsgBox jiequ("A-BRT-C-EF", "-", 2)
  
 End Sub

'1 怎么让自定义函数在所有工作簿中使用?
  
   '答: 把含有自定义函数的文件另存为加截宏,然后通过工具-加截宏-浏览找到这个文件-确定。
   
'2 怎么给自定义函数添加说明

    '工具-宏-宏名输入自定义函数的名称-选项--在说明栏中写入这个函数的名称
    
'3、怎么给自定义函数分类

    Sub 分类()
     Application.MacroOptions "不重复个数", Category:=4
    End Sub
     
   '注:
         '0 是全部
         '1 财务
         '2 日期和时间
         '3 数学和三角
         '4 统计
         '5 查找和引用
         '6 数据库
         '7 文本
         '8 逻辑
         '9 信息
     

你可能感兴趣的:(他山之石——VBA自定义函数)