当前位置: 首页 > news >正文

网站建设排名优化技巧网站空间

网站建设排名优化技巧,网站空间,阿里云做网站买什么软件,南通网站建设制作本文介绍如何利用 VBA 的数组(Array) 来提高 Excel 单元格和外部数据传输的性能。如果数量比较大,通过 Array 来传输数据比直接操作单元格要快若干倍。 将 Range 的数据写入 VBA Array 将 Range 数据写入 VBA 的数组非常简单。下面的例子演示了用法&am…

本文介绍如何利用 VBA 的数组(Array) 来提高 Excel 单元格和外部数据传输的性能。如果数量比较大,通过 Array 来传输数据比直接操作单元格要快若干倍。

将 Range 的数据写入 VBA Array

将 Range 数据写入 VBA 的数组非常简单。下面的例子演示了用法:

Dim Arr() as Varint  ' Declare an unallocated array
Arr = Range("A1:C5") ' Arr is now an allocated array

当我们将数据从工作表的range 写入到 VBA 数组的时候,这个数组始终是二维的。第一个维度是行,第二个维度是列。所以,刚才定义的数组有 5 行,有 3 列,等同于 Arr(1 to 5, 1 to 3) 。需要注意的是,即使在 Excel 中只有一行或者一列,这个数组也是二维的,可以理解为 Arr(1 to 1, 1 to 1)。 另外,数组的下标 (LBound) 始终从 1 开始。比如:

Dim Arr() as Variant
Arr = Range("A1:A10")

Arr 相当于 Arr(1 to 10, 1 to 1)

下面的代码演示了如何遍历工作表中 Range 的值:

Public Sub PrintCells()Dim arr() As Variantarr = Range("A1:C5")Dim r As Long  ' r: rowDim c As Long  ' c: columnFor r = 1 To UBound(arr, 1)     '第一个维度是行数For c = 1 To UBound(arr, 2) '第二个维度是列数Debug.Print arr(r, c),NextDebug.PrintNext
End Sub

有一个特例。如果单元格的数量只有一个,那么就不能作为二维数组。上面的代码在一个单元格的时候会出错,需要调整为下面的代码:

Public Sub PrintCells(rng as Range)Dim arr() As VariantIf rng.Cells.Count = 1 ThenReDim arr(1 To 1, 1 To 1)arr(1, 1) = rng.ValueElsearr = rngEnd IfDim r As Long  ' r: rowDim c As Long  ' c: columnFor r = 1 To UBound(arr, 1)     '第一个维度是行数For c = 1 To UBound(arr, 2) '第二个维度是列数Debug.Print arr(r, c),NextDebug.PrintNext
End Sub

将一维数组写入单元格

一维数组可以按行输出,实现的要点:定义一个 Range,将 Range 的列扩充为数组的UBound。

Public Sub WriteOneDimensionArr()Dim arr() As VariantReDim arr(1 To 5)arr(1) = 1arr(2) = 2arr(3) = 3arr(4) = 4arr(5) = 5Dim destination As RangeSet destination = Range("A10")Set destination = destination.Resize(1, UBound(arr)) '对数组进行行扩充destination.Value = arr
End Sub

当然,一维数组也可以实现按列输出:

Public Sub WriteOneDimensionArr2()Dim arr() As VariantReDim arr(1 To 5)arr(1) = 1arr(2) = 2arr(3) = 3arr(4) = 4arr(5) = 5Dim destination As RangeSet destination = Range("A10")Set destination = destination.Resize(UBound(arr), 1) '对数组进行行扩充destination.Value = Application.Transpose(arr)
End Sub

二维数组写入单元格

实际上,将二维数组写入到单元格更加直观。数组的第 1 个维度是行数,第 2 个维度是列数。我们通过下面的示例,演示如果将 A1:C5 的数据拷贝到另外一个区域:

Public Sub CopyCells()Dim arr() As Variantarr = Range("A1:C5")Dim destination As RangeSet destination = Range("A10")destination.Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End Sub
http://www.shuangfujiaoyu.com/news/49254.html

相关文章:

  • 网站设计师接单seo是什么意思知乎
  • 手机网站怎么提高关键词优化网站排名的方法
  • 高端品牌网站建设公司策划公司
  • 微博如何做的跟网站一样杭州搜索引擎推广排名技术
  • vue做网站导航个人网站怎么建立
  • 网站建设如何在宣传部备案新闻发布
  • 台州网站开发微信小程序开发工具
  • 深圳网站建设 贴吧推广方案有哪些
  • 微信知彼网络网站建设青岛网站排名公司
  • 个人博客网站模板下载网站交换链接友情链接的作用
  • 怎么注销自己做的网站随州网络推广
  • 网站开发经验简历怎么在百度上投放广告
  • 做网站编辑应该注意什么百度排名点击
  • 网站切图企业查询信息平台
  • 无锡江阴做网站公司百度贴吧官网首页
  • 四平网站建设有哪些长沙关键词排名首页
  • 个人可以网站备案吗十大新媒体平台有哪些
  • 博远手机销售管理系统app广告优化师工资一般多少
  • 做电商网站前端用什么框架今天国内新闻
  • 做网站为什么赚钱吗软文广告经典案例300字
  • 武昌网站建设价格多少钱网站推广优化技巧
  • 网站的支付接口对接怎么做seo宣传网站
  • 河北省建设机械协会网站搜外网
  • 网站建设情况的汇报郑州网站建设外包
  • 网站开发工作怎么样奉化首页的关键词优化
  • 浙江省建设银行网站首页网站搭建工具
  • 携程网站用js怎么做广州seo推广培训
  • 义马网站建设电话百度公司名称
  • 高端网站建设策划口碑营销策划方案
  • 做厂家批发的网站信息流优化师职业规划