VBA选定区域的内容如何读入数组

一、我想把动态的选定区域的数据按行划分,读入多维数组,即选定区域的一个行为一个元素,有几行这个多维数组就有几个元素。比如:把C3:F28读入数组,每行的四个单元格的数据为数组的一个元素。
二、如果把动态的选定区域的数据按一个单元格为数组的一个元素,输入单维数组,应该如何编制VBA?比如:把C3:F28读入数组,每个单元格的数据为数组的一个元素。

请大侠指教!

1 动态数组实现
定义一个自定义类型
type ExcelRows
colnum () as integer '当前第几列
colValue() as string '当前列的值
end type
2. ActiveWorkbook.Worksheets(i).UsedRange 可以获得选定的区域对象
然后取得选定区域的列数iC和行数iR
dim rangedata(ir) as ExcelRows
for i=0 to ic-1
redim rangedata(i).colnum(ic)
redim rangedata(i).colvalue(ic)
next
3 . 把数据写入上边声明的rangedata数组
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-01
1 把某一区域的内容读入到数组中:
Dim strArray() As Variant
Dim wk_data As Variant
Set wk_data = Sheets("Sheet1")
strArray = wk_data.Range("A1:CV100").Value

2 把数组的内容写入:
wk_data.Range("A1").Resize(UBound(strArray, 1), UBound(strArray, 2)).Value = strArray

EXCEL VBA 怎样区域的行号写入数组
1 把Excel某一区域的内容读入到数组中:Dim strArray() As VariantDim wk_data As VariantSet wk_data = Sheets("Sheet1")strArray = wk_data.Range("A1:CV100").Value 2 把数组的内容写入到Excel中wk_data.Range("A1").Resize(UBound(strArray, 1), UBound(strArray, 2)).Value = str...

如何用vba将选中的工作表放到数组中
如果工作表使用的区域超过一个单元格,则ar就是数组;如果只有一个单元格,则ar就不是数组。以上是把工作表使用的区域放到数组,如果是选择的区域就是:ar = Selection 同样道理,选择的区域必须是超过一个单元格,ar才是数组。

EXCEL VBA 将特定列数据写入数组中
EXCEL VBA 将特定列数据写入数组中 20 想要把持仓数据中A-C列和P列读入数组中,建立一个二维四列的数组,代码应该写?以下三种写法都会报错,想请问错在哪里?还请指教!arr=Intersect(Sheets("数据").UsedRange,Sheets("数... 想要把持仓数据中A-C列和P列读入数组中,建立一个二维四列的数组,代码应该写?以下三...

Excel VBA 如何将一个区域的单元格载入二维数组
可以使用命名单元格区域,然后可以像数组一样使用了 例如:区域名为“dsds”,调用方法: range("dsds")(1,1) 表示第一行,第一列 如果只用一列:range("dsds")(1)

VBA数组中,我用find函数找到想要的内容后,该怎么把该内容的单元格及其以...
Set q = Range(Cells(1, 1), Cells(100, 100)).Find(arr(1), Lookat:=1)arr=Range(q, q.End(xlDown))Range(q, q.End(xlDown)).Copy Cells(21, 1)

VBA怎么选中不连续的列并导入数组?
1、分解多列的数据,取一个arr(m,n),m和n根据自己的数据范围取,再从各列中获取数据,赋值到数组中 2、要获取F~K,O,P的数据,那把中间所有列的数据都赋值到arr中,即 arr=range("F:P")从中获取O和P的数据,就是数组arr的第10列和第11列数据,即arr(x,10)和arr(y,11)

EXCEL用VBA将单元格数值存入数组
1、首先打开一个Excel的文件,在表格中输入简单的表格,比如学生身高表格,如下图所示。2、接着,在表格中输入一维数组的说明文字,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件,如下图所示。3、 然后,在表格中绘制出按钮控件,并修改控件名称,比如使用一维数组的名称,如...

vba 读txt内容到数组
1,读取文本文件。2,列表框控件的使用。完整代码如下:Dim MyData As String'清除列表框控件中的数据项ListBox1.Clear'读取文件信息Open "C:\\数据文件.txt" For Input As #1 '以读的方式打开文件MyStr = ""Do While Not EOF(1) ' 循环至文件尾 '读取一行数据 Line Input #1, ...

利用EXCEL VBA如何将一列数据中不重复的数据读取到数组中
假设BAX,BOX,DHL,FED,YUAN,BAX,BOX,BOX,FED,FED数据放到表格sheet1中的A1到A9中。运行如下代码后,将不重复的BAX,BOX,DHL,FED,YUAN放到数组str_arr中,不重复的个数放到count中。代码已经调试ok了。Sub del_repeat()Dim i As Integer Dim str_arr(100) As String Dim count As Integer Dim ...

用Excel地VBA怎么样获取指定区域单元格里面地所有数据
使用for each遍历所选择的单元格即可。如下代码将选择区域的单元格输出在立即窗口。Sub Get_Data()Dim myRange As RangeDim myCell As RangeSet myRange = Application.InputBox("选择区域", Type:=8)For Each myCell In myRangeDebug.Print myCell.ValueNextEnd Sub ...

相似回答