怎样给VBA的自定义函数添加注释

怎样给VBA的自定义函数添加注释,第1张

假如你有如下一个自定义函数

Function abc()

abc = Range("a1") ^ 2

End Function

在同一模块中,再写入下面过程:

Sub ddd()

Application.MacroOptions Macro:="abc", Description:="A1格的平方"

End Sub

先执行这个ddd过程后,就能看到函数abc的注释被添加了。

这是模块的一小部分。挺奇怪的,既然你看得懂字典的赋值部分,怎么会看不得懂取值部分。这里有两个字典:d和d1。

With Worksheets("汇总") '在汇总工作表中

.UsedRange.Offset(1, 0).ClearContents '清除除第一行外的内容

.Range("c1").Resize(1, d1.Count) = d1.Keys '以(c1为起点行数1行,列数为d1字典关键字数量)单元格的值=d1字典的关键字

.Range("a2").Resize(d.Count, 2 + d1.Count) = Application.Transpose(Application.Transpose(d.Items)) '以(a2为起点行数为d字典关键字数量,列数为d1字典关键字数量+2)单元格的值=d1字典的条目值

r = .Cells(.Rows.Count, 1).End(xlUp).Row 'r=最后一行的行号

.Range("a1").Resize(r, 2 + d1.Count).Borders.LineStyle = xlContinuous '设置边框

Sub ek_sky()

  Dim arr1, i&, j$

  '得到F1:Fx的区域,其中x取决于A列最后一个单元格的行,例如:A1到A10都有内容,A11开始就没内容了,那么arr1得到的区域就是F1:F10

  arr1 = Range("f1:f" &Cells(Rows.Count, 1).End(3).Row)

  'i从1到arr1区域中单元格的数量

  For i = 1 To UBound(arr1)

      '如果arr1中第(i,1)个元素的内容包含以通配符表示的"*小节*",那就执行IF内的语句

      If arr1(i, 1) Like "*小节*" Then

          j = j &",A" &i

      End If

  Next i

  'j变量中保存的是F列中包含有"*小节*"的对应的A列单元格,如",A1,A2",由于前面有个逗号,所以需要使用Mid(j,2),以此来从第2个符号开始往后取,以去掉最前面的逗号

  '下面整句的使用就是将包含"*小节*"内容的行全都选中

  Range(Mid(j, 2)).EntireRow.Select

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7994648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存