Excel精英培训网

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

[已解决]【已解决】如何将行数值赋值给一维数组

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

使用以下语句对数组进行赋值:

Dim tmp() As Variant

tmp=range("A1:D1")

得到的结果是一个二维数组,有没有办法可以直接得到一维数组?

谢谢!

[此贴子已经被作者于2010-4-3 20:50:03编辑过]
最佳答案
2010-4-3 19:28

学习楼上的,再完善一下:两维数组抽一行或一列成一维数组

Sub a()
Dim tmp() As Variant
Dim arr1, arr2
tmp = Range("A1:D8")
'取一行成一维,以第三行为例
arr1 = Application.Index(tmp, 3, 0)
'取一列成一维,以第四列为例
arr2 = Application.Index(Application.Transpose(tmp), 4, 0)
End Sub

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

Dim tmp() As Variant
Dim arr
tmp = Range("A1:D1")
arr = Application.Index(tmp, 1, 0)
回复

使用道具 举报

发表于 2010-4-3 19:15 | 显示全部楼层

tmp=application.transpose(application.transpose(range("A1:D1")))

文本时tmp=[A1:D1 & ""]数字时tmp=[A1:D1 *1]

回复

使用道具 举报

发表于 2010-4-3 19:28 | 显示全部楼层    本楼为最佳答案   

学习楼上的,再完善一下:两维数组抽一行或一列成一维数组

Sub a()
Dim tmp() As Variant
Dim arr1, arr2
tmp = Range("A1:D8")
'取一行成一维,以第三行为例
arr1 = Application.Index(tmp, 3, 0)
'取一列成一维,以第四列为例
arr2 = Application.Index(Application.Transpose(tmp), 4, 0)
End Sub

回复

使用道具 举报

发表于 2010-4-3 19:45 | 显示全部楼层

我是来围观的(群众演员)

回复

使用道具 举报

 楼主| 发表于 2010-4-3 20:49 | 显示全部楼层

非常感谢各位的解答[em17][em17]
回复

使用道具 举报

发表于 2010-4-4 06:24 | 显示全部楼层

学习[em02][em02]
回复

使用道具 举报

发表于 2010-8-17 12:02 | 显示全部楼层

[em17][em17]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 15:28 , Processed in 0.316154 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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