Excel精英培训网

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

[已解决]EXCEL高手用VBA如何实现函数转换

[复制链接]
发表于 2016-2-13 09:55 | 显示全部楼层 |阅读模式


EXCEL高手用VBA如何实现函数转换


用VBA编写

函数chang 功能是对四位以内(含4位)的十进制正整数num进行如下:将num 每一位数字重复一次,并反回变换结果

例如,若num=5234,则函数返回值为55223344,其变换过程可描述为

(4*10+4)*1+(3*10+3)*100+(2*10+2)*10000+(5*10+5)1000000=55223344










最佳答案
2016-2-16 11:24
根据2楼思路自定义函数呗。
  1. Function Change(num)
  2.     Dim i%, x, y
  3.     If Len(num) = 0 Then
  4.         Change = ""
  5.     Else
  6.         For i = 1 To Len(num)
  7.             x = Mid(num, i, 1)
  8.             Change = Change & String(2, x)
  9.         Next
  10.     End If
  11. End Function
复制代码
发表于 2016-2-13 10:28 | 显示全部楼层
  1. Sub test()
  2.     Dim i%, num, x, y
  3.     num = 5234
  4.     For i = 1 To Len(num)
  5.         x = Mid(num, i, 1)
  6.         y = y & String(2, x)
  7.     Next
  8.     MsgBox y
  9. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
vbyou127 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-13 10:47 | 显示全部楼层
雪舞子 发表于 2016-2-13 10:28

num不一定是5234,怎么办
回复

使用道具 举报

发表于 2016-2-13 11:08 | 显示全部楼层
vbyou127 发表于 2016-2-13 10:47
num不一定是5234,怎么办

num是个变量,可以任意改变数值,
也可以设置某一单元格或inputbox输入。

评分

参与人数 1 +6 收起 理由
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

发表于 2016-2-13 12:36 | 显示全部楼层
8位数以内可用公式解决

Book1.zip

3.85 KB, 下载次数: 7

评分

参与人数 1 +6 收起 理由
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-13 16:19 | 显示全部楼层
雪舞子 发表于 2016-2-13 11:08
num是个变量,可以任意改变数值,
也可以设置某一单元格或inputbox输入。

如何,设置某一单元格或inputbox输入。
回复

使用道具 举报

发表于 2016-2-16 11:24 | 显示全部楼层    本楼为最佳答案   
根据2楼思路自定义函数呗。
  1. Function Change(num)
  2.     Dim i%, x, y
  3.     If Len(num) = 0 Then
  4.         Change = ""
  5.     Else
  6.         For i = 1 To Len(num)
  7.             x = Mid(num, i, 1)
  8.             Change = Change & String(2, x)
  9.         Next
  10.     End If
  11. End Function
复制代码

Book1.rar

8.05 KB, 下载次数: 7

评分

参与人数 2 +16 金币 +10 收起 理由
雪舞子 + 10 + 10 好方法
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-17 02:28 , Processed in 0.536722 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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