最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

excel用公式把指定单元格引用为批注

来源:动视网 责编:小OO 时间:2025-09-24 23:24:09
文档

excel用公式把指定单元格引用为批注

一、题目:要求编写一个可分别把指定单元格的内容作为批注写入活动单元格的自定义函数。如果活动单元格里面没有批注就增加此批注;如果里面有批注就把批注修改为指定单元格的内容。二、代码:Functionpizhu(ParamArrayRngs()AsVariant)DimcelAsRange,s$,singleArea,m%Form=LBound(Rngs)ToUBound(Rngs)SetsingleArea=Rngs(m)ForEachcelInsingleAreaIfcel""Thens=s&c
推荐度:
导读一、题目:要求编写一个可分别把指定单元格的内容作为批注写入活动单元格的自定义函数。如果活动单元格里面没有批注就增加此批注;如果里面有批注就把批注修改为指定单元格的内容。二、代码:Functionpizhu(ParamArrayRngs()AsVariant)DimcelAsRange,s$,singleArea,m%Form=LBound(Rngs)ToUBound(Rngs)SetsingleArea=Rngs(m)ForEachcelInsingleAreaIfcel""Thens=s&c
一、题目:

要求编写一个可分别把指定单元格的内容作为批注写入活动单元格的自定义函数。

如果活动单元格里面没有批注就增加此批注;如果里面有批注就把批注修改为指定单元格的内容。

二、代码:

Function pizhu(ParamArray Rngs() As Variant)

Dim cel As Range, s$, singleArea,m%

For m = LBound(Rngs) To UBound(Rngs)

Set singleArea = Rngs(m)

For Each cel In singleArea

If cel <> "" Then

s = s & cel.Value & vbCrLf

End If

Next cel

Next m

With ActiveCell

If .Comment Is Nothing Then

.AddComment Text:=s

Else

.Comment.Text Text:=s

End If

End With

pizhu = ""

End Function

三、代码详解

1,Function pizhu(ParamArray Rngs() As Variant) :自定义函数的开始语句。自定义函数名称为pizhu,是“批注”的拼音字母,便于记忆;参数是单元格区域,一个数组变量Rngs()。使用关键字ParmArray说明的参数可在调用时接受传递给它的任何个数的参数。这些参数被放在一个可变类型数组中。如果未使用Option Base语句,数组的下界为0。要注意的是ParmArray 只能用于参数表的最后一个参数。

2、Dim cel As Range, s$, singleArea,m% :声明变量cel为单元格区域对象,s为字符串数据类型,m为整型,为可变型数据类型。

3、For m = LBound(Rngs) To UBound(Rngs) :

这是标准的For …Next循环语句,LBound和UBound是两个VBA函数,可求得数组的下界和上界,下界默认为0。

4、Set singleArea = Rngs(m) :

把单元格区域逐个赋值给变量singleArea。

5、For Each cel In singleArea :

For Each…Next循环语句,对区域对象singleArea中的每个单元格cel对象作循环。

6、If cel <> "" Then :如果cel单元格不为空,那么执行下面的语句。

7、s = s & cel.Value & vbCrLf :把cel单元格的值加上换行符一起赋给变量s。第一次循环时,s为空值,以后随着循环而把区域内所有单元格的值一起赋给变量s。

8、With ActiveCell :使用With…..End With语句有三个优点:它可以减少代码的输入量;增加代码的可读性和改善代码的执行效率。它为我们提供了十分简便的对象引用手段。

9、If .Comment Is Nothing Then :如果活动单元格没有批注,那么执行下面的语句。

10、.AddComment Text:=s :使用区域对象的增加批注属性AddComment,批注文本等于变量s的值。

11、.Comment.Text Text:=s :否则使用区域对象的批注属性Comment,把原来的批注修改为新的文本等于变量s的值。

12、pizhu = "" :函数返回一个空值。

四、自定义函数用法

例如A1、B2和C3单元格里面不为空,活动单元格为D5。在D5里输入公式:=pizhu(A1,B2,C3)

或者输入:=pizhu(A1:F6)

文档

excel用公式把指定单元格引用为批注

一、题目:要求编写一个可分别把指定单元格的内容作为批注写入活动单元格的自定义函数。如果活动单元格里面没有批注就增加此批注;如果里面有批注就把批注修改为指定单元格的内容。二、代码:Functionpizhu(ParamArrayRngs()AsVariant)DimcelAsRange,s$,singleArea,m%Form=LBound(Rngs)ToUBound(Rngs)SetsingleArea=Rngs(m)ForEachcelInsingleAreaIfcel""Thens=s&c
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top