Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2121|回复: 2

[已解决]怎么把这个程序改成自定义函数

[复制链接]
发表于 2015-10-8 17:03 | 显示全部楼层 |阅读模式
本帖最后由 markang 于 2015-10-9 09:21 编辑

各位老师,同学

有没有可能把附件的随机程序改成函数?目前的程序只是在range("c4")中显示处理结果,能够改成函数然后通过单元格简单的拖拉动作使程序反复执行,即使range("c5"),range("c6"),range("c7")......range("cn")都有一样的效果?

怎么把这个vba程序改成自定义函数.rar (13.68 KB, 下载次数: 7)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-10-8 18:41 | 显示全部楼层    本楼为最佳答案   
在你的附件中,随便找个单元格输入 =XXX(C3)  就是把C3重新乱序排列。你试试
  1. Function XXX(Rng)
  2. Application.Volatile
  3. Dim arr(), Ln&, i&, r&, Tmp
  4. Ln = Len(Rng)
  5. ReDim arr(1 To Ln)
  6. For i = 1 To Ln
  7.      arr(i) = Mid(Rng, i, 1)
  8. Next
  9. Randomize
  10. For i = 1 To Ln
  11.     r = Int(Rnd * Ln + 1)
  12.     Tmp = arr(i):  arr(i) = arr(r):  arr(r) = Tmp
  13. Next
  14. XXX = Join(arr, "")
  15. End Function
复制代码

评分

参与人数 2 +23 收起 理由
markang + 3 很给力!
fjmxwrs + 20 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-10-9 09:20 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-16 03:57 , Processed in 0.284803 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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