ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

给vba插上翅膀,---在VBA中使用RUBY

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-5-20 22:55 | 显示全部楼层
本帖已被收录到知识树中,索引项:脚本语言应用
figfig老师,下面的这个贴子http://club.excelhome.net/thread-274302-1-1.html
我用ruby做了一下,用时0.48s没有狼版的运行速度快(0.18s),不过算法简洁容易理解,我想问一下大师,这段代码用ruby还可以优化提速吗?
Sub RUBY()
    t = Timer
    Application.ScreenUpdating = False
    a = Application.Transpose([a1:a60000])
    b = Application.Transpose([b1:b60000])
    c = Application.Transpose([c1:c60000])
    Set x = CreateObject("scriptcontrol")
    x.Language = "rubyscript"
    x.eval ("def test(aa,bb,cc) a & b & c end;")
    y = x.Run("test", a, b, c)
    [d1].Resize(UBound(y) + 1) = Application.Transpose(y)
    Application.ScreenUpdating = ture
    t = Timer - t
    MsgBox t
End Sub

[ 本帖最后由 aidixiao 于 2010-5-21 08:50 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-5-21 00:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好东西,收藏了

TA的精华主题

TA的得分主题

发表于 2010-5-21 15:11 | 显示全部楼层
原帖由 yinglai 于 2010-5-20 17:23 发表
有个问题请教figfig大侠:在sheet1的[a1:z10000]单元格中都是一些0至100的数字,我想将数值小于5的替换为A,小于10的替换为B,小于15的替换为C,其余的替换为D,用ruby的正则表达式怎样实现?谢谢了。

文件已上传,受上传文件大小限制,我将[a1:z10000]改成了[a1:z100],请大师帮忙测试。

[ 本帖最后由 yinglai 于 2010-5-21 15:12 编辑 ]

tihuan.rar

183.13 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2010-5-22 08:52 | 显示全部楼层
用正则表达式处理数据应该是ruby的强项,期待figfig大师能给出几个这方面的例子。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 09:15 | 显示全部楼层

回复 93楼 yinglai 的帖子

用正则判断数字大小好像不合适吧,这个建议用VBA方法

TA的精华主题

TA的得分主题

发表于 2010-5-22 10:01 | 显示全部楼层
原帖由 figfig 于 2010-5-22 09:15 发表
用正则判断数字大小好像不合适吧,这个建议用VBA方法

figfig老师,我是看了这个贴子http://club.excelhome.net/viewth ... D%D4%F2%B1%ED%B4%EF中用VBSCRIPT的正则来进行数字的替换,就是想跟老师学习一下用ruby的正则怎么处理类似的问题。

TA的精华主题

TA的得分主题

发表于 2010-5-22 16:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-8-20 09:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-9-20 14:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-9-20 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习,函数功能比较强大
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-22 17:02 , Processed in 0.044877 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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