Excel精英培训网

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

[已解决]数组输出到单元格区域

[复制链接]
发表于 2009-10-10 23:49 | 显示全部楼层 |阅读模式

经常遇到,数据源到数组,运算完,输出时,结果区域却只需要其中不连续的几列。

我只想到:

方法1、输出到“中转区域”,删除不要的列,将结果复制回结果区。

方法2、有直接在数组内完成删除的方法吗?

请问:应怎样对待这种情况,会用到方法2吗,如果会方法2怎么做,还是用更好方式。

谢谢!

rowM82y6.rar (6.6 KB, 下载次数: 32)

hWUmlO8k.rar

6.9 KB, 下载次数: 42

数组输出到单元格区域

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2009-10-11 00:23 | 显示全部楼层

方法1:速度较慢,不建议采用

方法2:数组删除方法好象没有,只有数组初始化,但所有数据都没有了

建议采用:

重新定义一个新数组,然后利用循环把原数组中需要的值赋值给新数组就可以了

回复

使用道具 举报

发表于 2009-10-11 00:36 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2009-10-11 00:44 | 显示全部楼层

谢谢函数小菜鸟amulee

都说重新组合数组,那用Worksheetfuncion.Index后,都成1列列了。

如附件输出4列,不是要4次输出呀

[em04]
回复

使用道具 举报

发表于 2009-10-11 00:48 | 显示全部楼层    本楼为最佳答案   

Sub Test()
    arr = Sheet1.Range("A1:H27")
    arr2 = Array(1, 2, 5, 7)
    For i = 0 To 3
        Sheet2.Cells(1, i + 1).Resize(UBound(arr, 1), 1) = WorksheetFunction.Index(arr, 0, arr2(i))
    Next i
End Sub
回复

使用道具 举报

 楼主| 发表于 2009-10-11 00:50 | 显示全部楼层

学习了,以后就照这样做[em04]
回复

使用道具 举报

发表于 2009-10-11 00:51 | 显示全部楼层

重构数组  INDEX引用都是可以解决的方法。只是习惯不同而已。

至于速度有多大差异,没有测试,爱疯可以测试下。感觉还是数组快些。

回复

使用道具 举报

发表于 2009-10-11 05:18 | 显示全部楼层

学习[em02][em02]
回复

使用道具 举报

发表于 2009-10-11 06:57 | 显示全部楼层

学习[em01]
回复

使用道具 举报

 楼主| 发表于 2009-10-11 09:01 | 显示全部楼层

QUOTE:
以下是引用函数小菜鸟在2009-10-11 0:51:00的发言:

重构数组  INDEX引用都是可以解决的方法。只是习惯不同而已。

至于速度有多大差异,没有测试,爱疯可以测试下。感觉还是数组快些。

谢谢函数小菜鸟!!

[em27][em27]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-14 03:56 , Processed in 0.448084 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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