在VBA中为数组分配范围 [英] Assigning range to array in VBA

查看:412
本文介绍了在VBA中为数组分配范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将Excel数据导入到VBA中的数组中,所以我执行以下操作:

  Dim Arr作为变量
Arr = ActiveWorkbook.Sheets(Sheet1)。范围(C28:R29)

一旦我运行这个,我得到一个类型不匹配错误13.
我认为问题是因为第一行(总共2行)表示一个字符串(标题),第二行表示数字,所以我试图只得到这样一行:

  Arr = ActiveWorkbook.Sheets(Sheet1)。Range( C28:R28)

无法使用,我仍然遇到同样的问题。 b
$ b

有没有人知道可能是什么问题?



Regards
Crouz

解决方案

这很简单,只需添加 .Value (我发现不久之前的伎俩,我已经是粉丝!:))

  Arr = ActiveWorkbook.Sheets(Sheet1)。Range(C28:R28)。Value2 


I would like to get excel data into an array in VBA, so I do the following:

Dim Arr() As Variant
Arr = ActiveWorkbook.Sheets("Sheet1").Range("C28:R29")

As soon as I run this, I get a type mismatch error 13. I thought the problem was because the 1st row (2 rows in total) represents a string (header) and the 2nd row represents numbers, so I tried to only get one row like this:

Arr= ActiveWorkbook.Sheets("Sheet1").Range("C28:R28")

To no avail, I still get the same problem.

Does anyone know what could be wrong?

Regards Crouz

解决方案

It's pretty simple, just add .Value (I discovered that trick not so long ago and I'm already fan! :) )

Arr= ActiveWorkbook.Sheets("Sheet1").Range("C28:R28").Value2

这篇关于在VBA中为数组分配范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆