Excel精英培训网

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

[已解决]工作表函数index善变?

[复制链接]
发表于 2010-4-27 17:07 | 显示全部楼层 |阅读模式

MOOuGfAc.rar (12.48 KB, 下载次数: 0)

工作表函数index善变?

工作表函数index善变?

SjRqSpmO.rar

12.42 KB, 下载次数: 0

工作表函数index善变?

发表于 2010-4-27 17:12 | 显示全部楼层

工作表中错误部分你的写法和理解都有错误.

quUbIFmU.rar (11.42 KB, 下载次数: 0)
回复

使用道具 举报

发表于 2010-4-27 17:18 | 显示全部楼层

将resize中的1改成4,你就知道他们返回值的区别了。

之前显示的结果相同,是因为你存放结果的容器只能容纳结果中的1列。

另外关于工作表中的index,你还可以参考下面的讨论

http://www.excelpx.com/forum.php?mod=viewthread&tid=126618&replyID=&skin=1

回复

使用道具 举报

 楼主| 发表于 2010-4-27 17:31 | 显示全部楼层


Sub test()
    Dim a
    a = [a1:d10]
    [f1].Resize(UBound(a), 1) = Application.Index(a, 0, 0) '返回第1列
    [g1].Resize(UBound(a), 1) = Application.Index(a, 0, 1) '与上句等效
End Sub

 

 

b2i0Y7Qy.rar (9.38 KB, 下载次数: 0)

回复

使用道具 举报

发表于 2010-4-27 17:44 | 显示全部楼层    本楼为最佳答案   

QUOTE:
以下是引用爱疯在2010-4-27 17:31:00的发言:


Sub test()
    Dim a
    a = [a1:d10]
    [f1].Resize(UBound(a), 1) = Application.Index(a, 0, 0) '返回第1列
    [g1].Resize(UBound(a), 1) = Application.Index(a, 0, 1) '与上句等效
End
   Sub

 

 

这样看,两句效果难道不是一样的吗?[em04]

不然,Application.Index(a, 0, 0)等效于a,[f1].Resize(UBound(a), 1)决定了其只显示一列,改成:

[f1].Resize(UBound(a), 4) = Application.Index(a, 0, 0) '返回第1列你就明白我在说什么了

回复

使用道具 举报

 楼主| 发表于 2010-4-27 18:02 | 显示全部楼层

谢谢大家!

0表示全部的

非0(就叫n吧)表示第n

[em04]
回复

使用道具 举报

发表于 2010-4-27 18:22 | 显示全部楼层

学习学习.[em01]
回复

使用道具 举报

发表于 2010-4-27 21:17 | 显示全部楼层

学无止境,...........,,[em02]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 03:26 , Processed in 0.457888 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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