ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 微软函数 for vba自定义函数Function

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2022-12-27 20:36 | 显示全部楼层 |阅读模式
本帖最后由 shaowu459 于 2022-12-28 09:45 编辑

"XLAM"        支持WPS、Office 2007及以上版本。
"XLA"        支持WPS、Office 2003及以上版本。

声明:必须具有VBA运行环境。Office自带了VBA不必再安装;部分WPS须提前安装VBA插件(下载链接在下方)。

使用:解压后,手动加载到 [开发工具] 下的 [EXCEL加载项] 中,然后在单元格输入 ='函数名称' 。
          或者 手动点击编辑栏的 'Fx' 图标,选择 '用户定义' 类型,选择需要的函数并点击确定。

提示:微软Office工作表内手动输入函数名称后暂不支持(UDF)智能感知VBA自定义函数的参数名称,金山WPS则支持!!!

兼容:高仿微软工作表函数,兼容Windows下全部Office和WPS版本,目前代码开放,任何人不得用于任何交易。
用法:用法与工作表自带的一致,全部参数都支持传入不同数据类型或多个值或多区域,支持输出一个或多个值。
意义:如果再过20年,必定是新函数的使用者多,而此就是为低版本而编写的新函数轮子。
进度:目前编写了以下函数轮子供低版本使用,单线程,日常处理十万级数据足够了;不定时更新或优化或修复。
下载链接:https://cg520.lanzoub.com/b01d50fza 密码:6666
SORT SORT1
TEXTSPLIT(分析未完成)
WRAPROWS
WRAPCOLS
RANDVALUE
RANDARRAY
SEQUENCE
CHOOSEROWS
CHOOSECOLS
TAKE
DROP
TOCOL
TOROW
VSTACK
HSTACK
UNIQUE UNIQUE1
FILTER1
IFERROR
TEXTJOIN
CONCAT
EXPAND                 '扩展区域或数组,让 [365的自动溢出数组功能] 到一边凉快去。
EVALUATE1         '计算"文本公式",让超出个数限制的数组或动态数组转为静态数组传递。


'《转载请保留此处注释说明》
'作者:GG
'说明:用VBA编写了与微软工程师高度逼真的一些工作表函数,适用于全行业使用老版本Office或WPS的电脑端用户。工作表与VBA里均可调用。
'介绍:全部用法与全部输出结果与微软工程师保持98%~99%一致,使用者可以放心使用。
'兼容:兼容VBA6.0~7.1版本,兼容Windows系统下的Office和WPS几乎全部版本;MAC系统没测试(没人给我发红包买MAC)。
'用法:与自带的工作表函数用法一致。
'声明:此次分享仅供网友参考或借鉴,请勿用于任何交易,作者不承担责任。若有问题或有需求可单独联系作者以获得解决方案。
'注意:
'1、部分老版本Office或WPS在工作表中使用此自定义函数时,函数名称的前面可能显示"_xlfn."或"_xlws."等,请按"CTRL H",将其替换掉就可以了。或者将自定义函数的名称全部替换为可被公式引擎识别的名称(不区分字母大小写)。
'2、在工作表中使用时,当参数作为动态数组传递且数组值的个数超过511/2时,可能需要先嵌套EVALUATE1函数,将其传入的值转为静态数组(WPS老版本用户需要提前嵌套)。
'3、65536行的表格与1048576行的表格不兼容,在使用自定义函数时,请尽量不要引用整行整列,可能导致计算卡顿或者参数传递丢失。
'4、xlsx或xlsm或xlam格式文件不能被Office2003或以下版本打开,xla格式与xlam格式不兼容。
'5、当多个区域传入1个参数的情况,这将在VBA代码外再套循环遍历各个区域,由于遍历对象速度总是会很慢,我偷懒没有加上遍历多区域的代码,将只取其首个区域传入参数。话又说回来,估计国内应该没什么人专门喜欢这样不按常规方式使用吧?
'6、你可以将此文件用微软Office Excel打开,然后另存为"XLA"或"XLAM"格式的加载宏文件,加载到开发工具加载项中;以便让其中的自定义函数能够在每一个打开的表格中都能使用或者发给他人使用。


【更新日志】
2022/12/18 - 版本V1.2.5
更新并增加 SORT SORT1 函数。

2022/12/15 - 版本V1.2.1
修复 TEXTJOIN 函数的第二参数的数据类型带来的BUG。

2022/12/10 - 版本V1.2
更新并发布到蓝奏云。

2022/12/7 - 版本V1.2
更新并增加 TEXTSPLIT 函数。

2022/12/5 - 版本V1.1
修复Office Excel加载后,'Fx' 里面函数参数描述不显示问题。

2022/12/4 - 版本V1.0
更新并发布到蓝奏云。

图片1.png

微软函数 for vba_1.2.5.rar

283.65 KB, 下载次数: 212

评分

18

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-12-27 21:45 | 显示全部楼层
虽然不需要,但感觉比较牛.赞一个.

TA的精华主题

TA的得分主题

发表于 2022-12-27 22:03 | 显示全部楼层
本帖最后由 niko88819 于 2022-12-27 22:08 编辑

楼主轻易掌握微软核心技术,楼主真是太厉害了

若是真的能像365或是比365更强,低版本是一大福音

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-31 10:17 | 显示全部楼层
niko88819 发表于 2022-12-27 22:03
楼主轻易掌握微软核心技术,楼主真是太厉害了

若是真的能像365或是比365更强,低版本是一大福音 ...

英文、日文、韩文的表格等均未测试,目前的函数的参数是简体中文版的。函数的参数的多语言翻译版得后续了~~~

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-2-25 00:33 | 显示全部楼层
本帖最后由 tntg534462 于 2023-2-25 10:22 编辑

MAC 版本测试  新函数应用完全OK


Snipaste_2023-02-25_00-31-47.png

Snipaste_2023-02-25_00-29-47.png

TA的精华主题

TA的得分主题

发表于 2023-3-3 17:17 | 显示全部楼层
很开心看到此帖子。我以前也有类似想法:一是模拟新函数在低版本也能够使用,二是我们也可以增加新函数供所有版本使用。GG函数的部分大作,我之前在网上也拜读过一些。在2022年本人阳之前,也试验了尝试这项探索,后来工作一忙就放下了。所以我大力支持GG函数坚持。同时也呼吁站长开辟专版讨论,形成一套有特色的函数库。

TA的精华主题

TA的得分主题

发表于 2023-3-27 23:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
感谢老师的耕耘,使得我等在低版本及wps中也能使用新函数

TA的精华主题

TA的得分主题

发表于 2023-3-28 08:55 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-3-29 09:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-3-29 09:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
nuic_wyl 发表于 2023-3-29 09:43
感谢大神分享,赞赞

如果老师们做的好表现不错可以送花给老师奖励吧,参考这连接怎么评分
http://club.excelhome.net/thread-682160-1-1.html
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 18:33 , Processed in 0.048752 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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