Excel2000自定义函数

SatanAngel 2008-05-04 04:53:28
现在的要求是我在A列输入一个编码,然后在B显示价格,C显示颜色,D显示纹路。因为编码很多不好用if语句,所以我就想到自定义函数,但返回多个值的不是很清楚,看到网上说可以自定义Type,所以我做了如下函数:
Type YY
A As Integer
B As String
C As String
End Type

Function GetValue_1(value) As YY

Select Case value
Case "1"
YY.A = 100
YY.B = "黑色"
YY.C = "横纹"
Case "2"
YY.A = 200
YY.B = "红色"
YY.C = "横纹"
Case Else
YY.A = 0
YY.B = "无色"
YY.C = "横纹"
End Select

End Function

函数是定义了,但在列中引用函数时不能正常显示,不知道这样的自定义函数应该怎么引用,谢谢!
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ChinaOBS 的回复:]
1、先不说能不能用,至少 应该将GetValue_1函数中的YY.*全部替换成GetValue_1.*吧?

... ...
[/Quote]
ChinaOBS 2008-05-04
  • 打赏
  • 举报
回复
1、先不说能不能用,至少 应该将GetValue_1函数中的YY.*全部替换成GetValue_1.*吧?

2、Excel表格公式中好像不能使用UDT结构,VBA中可用;

3、最好的解决方法:Excel自带的查找函数,如Vlookup、Index和Match组和等等...
当然,如果一定要用VBA,可以换一种方式,不使用UDT结构... ...
Fangcan 2008-05-04
  • 打赏
  • 举报
回复
在这个论坛找不到上传的功能!

我上传到自己的空间里了!

你自己下载来看看:

http://www.mrleochen.com/uploads/VLOOKUP.rar
Fangcan 2008-05-04
  • 打赏
  • 举报
回复
要实现这个功能其实很简单,可以不用自定义函数!

建议使用VLOOKUP()就OK了,而且日常维护比较方便!

我做了一个范本给你,但是找不到上传功能!

5,138

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧