Excel精英培训网

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

关于单元格区域导入到变量生成数组

[复制链接]
发表于 2021-3-16 17:14 | 显示全部楼层 |阅读模式
1学分
恳求解答!(有附件)
Sub aa()
Dim arr
    ‘如果把[a1:b5]导入到变量arr可以生成数组
      arr = Range("a1:b5")
     '但如果需要把[a1:b5]和[d8:e10]这两个单元格区域同时导入到arr中该怎么做?(不考虑做两个区域的循环赋值)
End Sub
xx.rar (11.24 KB, 下载次数: 3)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2021-3-17 10:57 | 显示全部楼层
不做处理这样就可以
Sub exprmnt()
Dim rng As Range, n%, i%, j%, s, m%, arr, brr
With Sheets("Sheet1")
  Set rng = .Range("a1:b5, d8:e10")
n = rng.Areas.Count
  ReDim arr(1 To n)
  For i = 1 To UBound(arr)
    arr(i) = rng.Areas(i).Value
  Next
End With
End Sub

评分

参与人数 1学分 +2 收起 理由
cutecpu + 2 学习了

查看全部评分

回复

使用道具 举报

发表于 2021-3-17 10:58 | 显示全部楼层
要处理请参考附件
xx.zip (14.27 KB, 下载次数: 4)
回复

使用道具 举报

发表于 2021-3-17 16:15 | 显示全部楼层
将2个区域复制到1个区域,作为新区域,再将新区域赋值给数组
回复

使用道具 举报

 楼主| 发表于 2021-5-6 13:53 | 显示全部楼层
cui26896 发表于 2021-3-17 10:57
不做处理这样就可以
Sub exprmnt()
Dim rng As Range, n%, i%, j%, s, m%, arr, brr

我觉得用字典在多表中直接循环赋值可能更好点(当然是指源只有 两列)。
回复

使用道具 举报

发表于 2021-5-14 20:10 | 显示全部楼层
ccq000000 发表于 2021-5-6 13:53
我觉得用字典在多表中直接循环赋值可能更好点(当然是指源只有 两列)。

如果表规范,与其用字典,不如直接ADO,SQL取A,B,D,E字段名提取更简单。
回复

使用道具 举报

发表于 2021-5-14 21:26 | 显示全部楼层
最笨的办法:
Sub test()
[d8:e10].Offset(1, 0).Copy [a1].End(4).Offset(1, 0)
arr = Range([a1], [a1].End(4))
End Sub

评分

参与人数 1学分 +2 收起 理由
cutecpu + 2 学习了

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 19:05 , Processed in 0.294482 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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