Excel精英培训网

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

[已解决]不循环,可以一次比较二维数组一样吗??

  [复制链接]
发表于 2011-1-21 17:33 | 显示全部楼层 |阅读模式
5学分
不知道可以不用循环,一次性比较出2个二维数组是否相同,只要结果:里面的数据相同还是不相同

谢谢,请解答
最佳答案
2011-1-24 23:22
可以,就是很烦
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Sub tt()
    Dim arr1, arr2
    Dim arr3(1 To 6), arr4(1 To 6)
    arr1 = [{1,4;2,5;3,6}]
    arr2 = [{1,3,5;2,4,6}]
    CopyMemory ByVal VarPtr(arr3(1)), ByVal VarPtr(arr1(1, 1)), 16 * 6
    CopyMemory ByVal VarPtr(arr4(1)), ByVal VarPtr(arr2(1, 1)), 16 * 6
    Debug.Print Join(arr3, "|") = Join(arr4, "|")
End Sub



excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-1-21 18:05 | 显示全部楼层
{:231:}兰版上课说过。
用数组就不要怕用循环。
基本不会影响 执行速度
回复

使用道具 举报

发表于 2011-1-21 18:08 | 显示全部楼层
试了下用单元格过渡虽可以完成,但仅仅是伪VBA,不用也罢。还是走正道吧
回复

使用道具 举报

 楼主| 发表于 2011-1-21 18:20 | 显示全部楼层
回复 青城山苦丁茶 的帖子

怎么完成的呀,教下嘛,多学习方法了
回复

使用道具 举报

 楼主| 发表于 2011-1-21 18:23 | 显示全部楼层
因为想到如果数据在单元格,就可以一个公式知道数据是否相同

但现在数据没有在单元格,所以想是否也可以马上比较出结果呢???
回复

使用道具 举报

发表于 2011-1-24 18:31 | 显示全部楼层
不用循环,貌似做不到,回答完毕,谢谢
回复

使用道具 举报

发表于 2011-1-24 19:29 | 显示全部楼层
好像感觉会比较困难诶。
回复

使用道具 举报

发表于 2011-1-24 19:46 | 显示全部楼层
路过看看
回复

使用道具 举报

发表于 2011-1-24 19:57 | 显示全部楼层
这个算不算是挑战高手的任务?
回复

使用道具 举报

发表于 2011-1-24 23:22 | 显示全部楼层    本楼为最佳答案   
可以,就是很烦
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Sub tt()
    Dim arr1, arr2
    Dim arr3(1 To 6), arr4(1 To 6)
    arr1 = [{1,4;2,5;3,6}]
    arr2 = [{1,3,5;2,4,6}]
    CopyMemory ByVal VarPtr(arr3(1)), ByVal VarPtr(arr1(1, 1)), 16 * 6
    CopyMemory ByVal VarPtr(arr4(1)), ByVal VarPtr(arr2(1, 1)), 16 * 6
    Debug.Print Join(arr3, "|") = Join(arr4, "|")
End Sub



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 16:28 , Processed in 1.401994 second(s), 4 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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