ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

[Excel基础] 收集和自编的自定义函数(21个)!新增"字符快速合并"函数(9月14日新增)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2005-8-31 10:42 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-8-31 11:45 | 显示全部楼层

楼主辛苦了,谢谢你。

好东西先收藏了,有空慢慢看~

TA的精华主题

TA的得分主题

发表于 2005-8-31 15:44 | 显示全部楼层
楼主,为什么我加载后系统不能运行呢,每次打开EXICE都会弹出提示:找不到工程或库!是什么原因呢?[em06]

TA的精华主题

TA的得分主题

发表于 2005-8-31 16:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

好东西!慢慢学

TA的精华主题

TA的得分主题

发表于 2005-9-2 20:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老兄:能否帮忙编写一个这样的函数:只进行单元格内数字的运算,而要单元格内的忽略非数字。谢谢

TA的精华主题

TA的得分主题

发表于 2005-9-5 17:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

将将字符串trstr中的frstr替换成tostr

Function subinstr(ByVal trStr As Variant, frStr As String, toStr As String) As Variant '将字符串trstr中frstr替换成tostr Dim iRow As Integer Dim iCol As Integer Dim j As Integer Dim Ar As Variant Dim vfr() As String Dim vto() As String ReDim vfr(1 To Len(frStr)) ReDim vto(1 To Len(frStr)) For j = 1 To Len(frStr) vfr(j) = Mid(frStr, j, 1) If Mid(toStr, j, 1) <> "" Then vto(j) = Mid(toStr, j, 1) Else vto(j) = "" End If Next j If IsArray(trStr) Then Ar = trStr For iRow = LBound(Ar, 1) To UBound(Ar, 1) For iCol = LBound(Ar, 2) To UBound(Ar, 2) For j = 1 To Len(frStr) Ar(iRow, iCol) = Application.Substitute(Ar(iRow, iCol), vfr(j), vto(j)) Next j Next iCol Next iRow Else Ar = trStr For j = 1 To Len(frStr) Ar = Application.Substitute(Ar, vfr(j), vto(j)) Next j End If subinstr = Ar End Function

[此贴子已经被作者于2005-9-6 11:37:41编辑过]

TA的精华主题

TA的得分主题

发表于 2005-9-6 11:15 | 显示全部楼层

1、依据分隔符提取第N个字符(8月28日改编)

结构: TQ( 引用单元格,N,分隔符 )

如A1=12-AA-GER-FES-FEE-FEGREG-325D-FEFDS

=TQ(A1,6,"-") 的结果为FEGREG

无法提取最后一个字符串,故对其作了适当的修改,使其能支持最后一个字符串的提取。

鉴于字符串多以空格分离,另将tq()函数分解出来:

一、word(Txt, n):提取txt中第n个单词,单词间以空格分隔,n=-1,表提取最后一个单词

二、mword(Txt, n, Separator):依据分隔符Separator提取第n个字符串,n=-1表最后一个字符串

三、wordcount(txt,separator):依据分隔符Separator计数txt中字符串个数

Function word(Txt, n) As String '提取txt中第n个单词,单词间以空格分隔,n=-1表最后一个单词 Dim AllElements As Variant Dim last As Integer Txt = Application.Trim(Txt) AllElements = Split(Txt, " ") last = UBound(AllElements) If n <> -1 Then word = AllElements(n - 1) Else word = AllElements(last) End If End Function

Function mword(Txt, n, Separator) As String '依据分隔符提取第n个字符串,n=-1表最后一个字符串 Dim AllElements As Variant Dim last As Integer If Separator = " " Then Txt = Application.Trim(Txt) Else Txt = Txt End If AllElements = Split(Txt, Separator) last = UBound(AllElements) If n <> -1 Then mword = AllElements(n - 1) Else mword = AllElements(last) End If

End Function

Function wordcount(Txt, Separator) As Integer '依据分隔符计数txt中字符串的个数 Dim AllElements As Variant Txt = Application.Trim(Txt) AllElements = Split(Txt, Separator) wordcount = UBound(AllElements)+1 End Function

另外,自定义的函数只需将其复制到VB编辑器中的模块中即直接可使用,或插入函数-自定义-

[此贴子已经被作者于2005-9-6 11:46:48编辑过]

TA的精华主题

TA的得分主题

发表于 2005-9-7 10:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-9-12 15:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-9-20 17:52 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 10:06 , Processed in 0.046847 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表