在excel里怎样用vba自定义一个函数,当我输入4,返回3210,当我输入6返回54321,输入
答案:5 悬赏:80 手机版
解决时间 2021-01-12 16:57
- 提问者网友:最美的风景
- 2021-01-12 05:16
在excel里怎样用vba自定义一个函数,当我输入4,返回3210,当我输入6返回54321,输入
最佳答案
- 五星知识达人网友:北城痞子
- 2021-01-12 06:10
Function num (n as integer)
dim str as string
for i=9 to 0 step -1
str= str & i
next
if n>5 then
num=mid(str,10-n,5)
else
num=right(str,n)
end if
end function追问这个我输入了num(5),却什么也没返回,没有看到43210追答
自定义函数要放在模块中。
追问对了,没错。多谢,如果当我输入4,返回56789,当我输入6返回789,输入7,返回89,总之返回的数不能超过5个,该怎么改追答'0开头
Function num(n As Integer)
Dim str As String
For i = 0 To 9
str = str & i
Next
num = Mid(str, n + 1, IIf(n < 5, 5, n))
End Function
'1开头
Function num(n As Integer)
Dim str As String
For i = 1 To 9
str = str & i
Next
num = Mid(str, n, IIf(n < 5, 5, n))
End Function =。=貌似0开头的可以无视
追问等等还是有一点问题,上面那个程序输入=num(6)时,返回的是65432,本来应该是54321的,你能在看看吗?追答Function num(n As Integer)
Dim str As String
For i = 1 To 9
str = str & i
Next
num = Mid(str, n + 1, IIf(n < 5, 5, n))'这里改成n+1
End Functionsorry,疏忽了。
追问还有最上面那个也是输入6时却返回65432,本来应该是返回54321的,该怎么改追答Function num(n As Integer)
Dim str As String
For i = 9 To 0 Step -1
str = str & i
Next
num = Mid(str, 11 - n, IIf(n >= 5, 5, n))
End Function居然这么多错误,sorry~
追问没关系,谢谢你的帮助
dim str as string
for i=9 to 0 step -1
str= str & i
next
if n>5 then
num=mid(str,10-n,5)
else
num=right(str,n)
end if
end function追问这个我输入了num(5),却什么也没返回,没有看到43210追答
自定义函数要放在模块中。
追问对了,没错。多谢,如果当我输入4,返回56789,当我输入6返回789,输入7,返回89,总之返回的数不能超过5个,该怎么改追答'0开头
Function num(n As Integer)
Dim str As String
For i = 0 To 9
str = str & i
Next
num = Mid(str, n + 1, IIf(n < 5, 5, n))
End Function
'1开头
Function num(n As Integer)
Dim str As String
For i = 1 To 9
str = str & i
Next
num = Mid(str, n, IIf(n < 5, 5, n))
End Function =。=貌似0开头的可以无视
追问等等还是有一点问题,上面那个程序输入=num(6)时,返回的是65432,本来应该是54321的,你能在看看吗?追答Function num(n As Integer)
Dim str As String
For i = 1 To 9
str = str & i
Next
num = Mid(str, n + 1, IIf(n < 5, 5, n))'这里改成n+1
End Functionsorry,疏忽了。
追问还有最上面那个也是输入6时却返回65432,本来应该是返回54321的,该怎么改追答Function num(n As Integer)
Dim str As String
For i = 9 To 0 Step -1
str = str & i
Next
num = Mid(str, 11 - n, IIf(n >= 5, 5, n))
End Function居然这么多错误,sorry~
追问没关系,谢谢你的帮助
全部回答
- 1楼网友:行雁书
- 2021-01-12 10:33
不懂VBA,用LOOKUP行不行?
- 2楼网友:山君与见山
- 2021-01-12 09:30
退出
- 3楼网友:你可爱的野爹
- 2021-01-12 08:25
fun=(a-1)*10000+(a-2)*1000............
- 4楼网友:街头电车
- 2021-01-12 07:32
自定义函数代码如下:Function fun(x)
Dim k As Byte
k = InStr("9876543210", x)
fun = Mid("9876543210", k + 1, 5)
End Function
其实不用自定义函数也可以,假如你输入的数字在A2,以下公式就可以出结果:
=MId("9876543210",FIND(A2,"9876543210")+1,5)追问这个程序出错了,我输入=fun(5),出错追答不会出错的,你再试下吧!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯