Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: lan8930

[已解决]EXCEL VBA,有没有办法将值转变成是变量名?

[复制链接]
发表于 2013-9-14 21:49 | 显示全部楼层
lan8930 发表于 2013-9-14 21:42
我明白你的意思了。你是说,将a&b所有可能的组合,装进字典的keys里面,将C的值装进items里,对吧。谢谢你 ...

对的,装入字典或集合都是可以的。
回复

使用道具 举报

 楼主| 发表于 2013-9-14 22:00 | 显示全部楼层
hwc2ycy 发表于 2013-9-14 21:47
用集合也是可以的。

非常感谢。我好象每次发贴,给的最佳答案都是你。
回复

使用道具 举报

 楼主| 发表于 2013-9-14 22:05 | 显示全部楼层
hwc2ycy 发表于 2013-9-14 21:47
用集合也是可以的。

集合和字典怎么看起来差不多?也有item和key,它们有什么不同吗?是不是KEY可以有重复呀?
回复

使用道具 举报

发表于 2013-9-14 22:10 | 显示全部楼层
lan8930 发表于 2013-9-14 22:05
集合和字典怎么看起来差不多?也有item和key,它们有什么不同吗?是不是KEY可以有重复呀?

KEY不能重复。
回复

使用道具 举报

 楼主| 发表于 2013-9-14 22:16 | 显示全部楼层
本帖最后由 lan8930 于 2013-9-14 22:18 编辑
hwc2ycy 发表于 2013-9-14 22:10
KEY不能重复。


我的实际情况是,我的ITEM是一个数组,数组MS不能够作为一个item装入到字典或者集合里吧?即张三李四=array("A","B","C")
回复

使用道具 举报

发表于 2013-9-14 22:20 | 显示全部楼层
lan8930 发表于 2013-9-14 22:16
我的实际情况是,我的ITEM是一个数组,数组MS不能够作为一个item装入到字典或者集合里吧?即张三李四=a ...

你可以试下,字典我是装过数组,装过其他对象(字典装字典也是可以的)。
回复

使用道具 举报

 楼主| 发表于 2013-9-14 22:25 | 显示全部楼层
hwc2ycy 发表于 2013-9-14 22:20
你可以试下,字典我是装过数组,装过其他对象(字典装字典也是可以的)。

字典.jpg
刚试过失败了...

Sub text()
    Dim a$, b$
    Dim 张三李四

    Dim obj As Object
    Set obj = CreateObject("scripting.dictionary")

    a = "张三"
    b = "李四"
    张三李四 = Array("10076", "10193", "10174", "10256", "10536", "10520")
  
    obj.Add "a", a
   obj.Add "b", b
    obj.Add "张三李四", 张三李四

    MsgBox obj.Item(a & b)
    Set obj = Nothing
End Sub

回复

使用道具 举报

发表于 2013-9-14 22:37 | 显示全部楼层
lan8930 发表于 2013-9-14 22:25
刚试过失败了...

Sub text()

你装进去了,没有问题。
关键是你用MSGBOX有问题。
你直接显示一个数组肯定不对呀。
回复

使用道具 举报

 楼主| 发表于 2013-9-14 22:39 | 显示全部楼层
hwc2ycy 发表于 2013-9-14 22:37
你装进去了,没有问题。
关键是你用MSGBOX有问题。
你直接显示一个数组肯定不对呀。

是的。非常感谢,爱死你了{:221:}
回复

使用道具 举报

发表于 2013-9-14 22:39 | 显示全部楼层
  1. MsgBox Join(obj.Item(a & b))
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 11:01 , Processed in 0.279356 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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