100分请教一个关于数组的问题。很难,想了多天没法解决。请求高手解惑。

forgot2000 2008-03-17 09:09:04
如何传入两个同样大小的二维数组,像这样:
数组1:[[1,2],[3,2],[4,3]]
数组2:[[1,1],[2,2],[3,3]]

要求得到这样的结果:
Cells[1,2]=Cells[3,2]=Cells[4,3]=Cells[1,1]+Cells[2,2]+Cells[3,3]
两个数组所有对应的单元格均为数值,而且两个数组中均没有相同的元素,比如[1,2]出现在第一个数组,那么它就绝对不可能出现在第二个数组,也不可能在第一个数组中出现两次。当然,这些只是我们自己定义传进去的数组,没必要考虑到编程中。我只想用宏来实现,sub Test(数组1,数组2)
能够让数组1中每个对应单元格值都等于数组2所有单元格的数值合计。
比如 Sub Test([[1,2],[3,2],[4,3]],[[1,1],[2,2],[3,3]]]
那么
Cells[1,2]=Cells[1,1]+Cells[2,2]+Cells[3,3]
Cells[3,2]=Cells[1,1]+Cells[2,2]+Cells[3,3]
Cells[4,3]=Cells[1,1]+Cells[2,2]+Cells[3,3]
...全文
59 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shuffercheng 2008-03-27
用自定义类型如何
Type CellPos
x As Integer
y As Integer
End Type


Sub test(array1() As CellPos, array2() As CellPos)
....

End Sub
回复
shuffercheng 2008-03-27
看懂意思了,简单说
目标:写一个宏:sub Test(数组1,数组2)
参数说明:数组1,2:数组中的每个元素由行号和列号组成,可以理解为代表单元格的地址。数组中1个元素代表1个单元格。
要求:能够让数组1中每个对应单元格值都等于数组2所有单元格的数值合计。

回复
qiucp 2008-03-27
[Quote=引用 3 楼 coolcoffee4051982 的回复:]
看不懂意思,帮顶一下吧,好像是离散数学中的东西!
[/Quote]
回复
看不懂意思,帮顶一下吧,好像是离散数学中的东西!
回复
z_wenqian 2008-03-17
看不大懂,好像是说有三个单元格的值相等,都等于另外三个单元格的和,用公式就能解决,何必用宏,只要在Cells(1,2),Cells(3,2),Cells(4,3)输入求和公式就行了。

"比如[1,2]出现在第一个数组,那么它就绝对不可能出现在第二个数组,也不可能在第一个数组中出现两次。"
既然Cells[1,2]=Cells[3,2]=Cells[4,3],又怎么能"不可能在第一个数组中出现两次"?
回复
forgot2000 2008-03-17
請朋友們好好看看我描述的意思。我就是想用宏(VBA)來實現,不需要考慮的是傳入的數組是否合法,因為是自行控制傳入的數組,自己肯定不會傳不合法的數組進去啦,多了容錯判斷不是不可以,但會復雜很多,所以暫時不考慮。
回复
相关推荐
发帖
Microsoft Office应用
创建于2007-08-02

6153

社区成员

Microsoft Office应用
申请成为版主
帖子事件
创建了帖子
2008-03-17 09:09
社区公告
暂无公告