如题所述
字符串处理是函数的软肋,动不动就多层嵌套,数组公式,有些功能还无法实现,比如用连接符连接文本,用Excel函数几乎是无法做到的,有了VBA自定义函数,这一切将SO EASY!
下面就介绍一个简单的字符串处理函数:
函数名:MYSTR
作 用:用任意连接符连接文本
参数介绍: 第一参数:(必须)指定连接符,可以是文本常量,也可以是单元格引用。忽略空单元格。
第二参数:(必须)需要连接的文本或单元格区域。
第三、四等参数:(可选)同第二参数
效果展示:
创建自定义函数的方法:
新建一个EXCEL文档,只保留一个工作表,其余删除。
按ALT+F11,打开VBE编辑器,新建一个模块,把下面的自定义函数代码复制到模块中,关闭VBE编辑器。
PublicFunction mystr(ll, ParamArray x())
For Each r In x
If IsArray(r) Then
For Each rr In r
If rr > ""Then mystr = mystr & ll & rr
Next
Else
mystr = mystr & ll & r
End If
Next
mystr = Mid$(mystr, 2, Len(mystr))
EndFunction
按F12【另存为】,文件保存类型选择“Excel加载宏”。它将自动存入ADDIN文件夹中。
然后从任意一个EXCEL文件的【开发工具】-【加载宏】中勾选所保存的宏文件名,确定。就可以在工作表中的随心所欲的使用自定义的合并文本函数啦,赶紧的,动手试试吧——
下面就介绍一个简单的字符串处理函数:
函数名:MYSTR
作 用:用任意连接符连接文本
参数介绍: 第一参数:(必须)指定连接符,可以是文本常量,也可以是单元格引用。忽略空单元格。
第二参数:(必须)需要连接的文本或单元格区域。
第三、四等参数:(可选)同第二参数
效果展示:
创建自定义函数的方法:
新建一个EXCEL文档,只保留一个工作表,其余删除。
按ALT+F11,打开VBE编辑器,新建一个模块,把下面的自定义函数代码复制到模块中,关闭VBE编辑器。
PublicFunction mystr(ll, ParamArray x())
For Each r In x
If IsArray(r) Then
For Each rr In r
If rr > ""Then mystr = mystr & ll & rr
Next
Else
mystr = mystr & ll & r
End If
Next
mystr = Mid$(mystr, 2, Len(mystr))
EndFunction
按F12【另存为】,文件保存类型选择“Excel加载宏”。它将自动存入ADDIN文件夹中。
然后从任意一个EXCEL文件的【开发工具】-【加载宏】中勾选所保存的宏文件名,确定。就可以在工作表中的随心所欲的使用自定义的合并文本函数啦,赶紧的,动手试试吧——
温馨提示:答案为网友推荐,仅供参考