ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 山菊花

墙上那一串串红辣椒——数组入门讲座

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2006-10-27 07:51 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组集合和字典
建议版主把该贴命名为利用VBA创建数组。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-10-27 09:23 | 显示全部楼层
QUOTE:
以下是引用mannewer123在2006-10-27 0:53:19的发言:
QUOTE:
Private Sub CommandButton1_Click()
    arr = Sheet2.Range("a1:e83")
    Range("a1:e83") = arr
End Sub

如果改成:sheet1.range("a1:e83")=arr是不是更好理解一点

一开始没看范例文件,还以为都在sheet2中操作了,总觉得怪怪的,呵呵.

这样好理解,但罗嗦。省略工作簿对象表示本工作簿,省略工作表对象表示本工作表,理解了就一样。

QUOTE:

另外如果上面的代码直接写成:

sheet1.range("a1:e83")=sheet2.range("a1:e83")  好象是一样的吧

我想问的是:是不是有时候先定义一个数组存储变量,能得到一些效果,而这效果是

sheet1.range("a1:e83")=sheet2.range("a1:e83")   没办法达到的. 

先看到第七吧~~~


本操作一样。但我们今天在说数组,学习用数组的方法操作。实际中,更多时候不是直接复制数据,而是通过一系列的中间加工,生成新的数据,输出到另一区域,这时,range()=range()就行不通,就像去除重复值那个例子。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-10-27 09:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用mqcwl在2006-10-27 7:51:22的发言:
建议版主把该贴命名为利用VBA创建数组。

这样理解不对。数组是VBA的一个组成部分,不是VBA以外的东西,加上VBA可以区别函数的数组公式。

VBA之数组启蒙班

不太好听,是不是?

TA的精华主题

TA的得分主题

发表于 2006-10-27 12:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

非常容易理解的教材,谢谢!

TA的精华主题

TA的得分主题

发表于 2006-10-27 14:50 | 显示全部楼层

谢谢老师教导.

我对您的敬仰犹如滔滔江水连绵不绝.

高人呀.敬礼!

TA的精华主题

TA的得分主题

发表于 2006-10-27 15:03 | 显示全部楼层
QUOTE:
以下是引用山菊花在2006-10-26 16:11:14的发言:


与Array()和Split()相比,由工作表区域创建数组更加直观而简易,一个等号便解决问题:
如:用Sheet2工作表A1:E83的数据创建一个数组:

QUOTE:
Private Sub CommandButton1_Click()
    arr = Sheet2.Range("a1:e83")
End Sub

如果把该数据复制到Sheet1工作表相同区域,用数组操作,代码如下:

QUOTE:
Private Sub CommandButton1_Click()
    arr = Sheet2.Range("a1:e83")
    Range("a1:e83") = arr
End Sub

共两句,前一句把数据保存到数组,第二句,把数组内容写入到工作表。


请教菊花, 我想把A表的数据保存到数组, 再把数据内容写入到B表呢,又该如何?

在学习中把Sheet2更改在我需要的数据表, 代码如下:

Private Sub CommandButton1_Click()
    arr = 总表.Range("b2:j11")
    配件表.Range("b2:j11") = arr
End Sub

但老提示"运行时错误'424' 要求对象"

还有, 如果单元格上面有个图像, 又如何一并引用过来?   ~ 这个估计很难:)

注:  其中,工作薄中有二个表, 一个为"配件表" 一个为"总表"


ez4g4yl7.rar (12.5 KB, 下载次数: 101)
[此贴子已经被作者于2006-10-27 15:27:40编辑过]

CsICi2JD.rar

8.95 KB, 下载次数: 97

TA的精华主题

TA的得分主题

发表于 2006-10-27 15:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复邦斯舅舅

回复邦斯舅舅

 

Private Sub CommandButton1_Click()

    arr = Sheets("总表").Range("b2:j11")

    Sheets("配件表").Range("b2:j11") = arr

End Sub

TA的精华主题

TA的得分主题

发表于 2006-10-27 16:04 | 显示全部楼层

非常感谢,chenyl89

如果单元格包含个图像, 又如何一并引用过来? 

这个对我很关键啊..

TA的精华主题

TA的得分主题

发表于 2006-10-27 16:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-10-28 11:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 16:44 , Processed in 0.035956 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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