|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 大灰狼1976 于 2024-8-14 21:36 编辑
通过CopyMemory可以很方便地截取某个数组的一部分赋值给另一个数组:
- <div>Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
- Sub test()
- Dim arr, brr, i&, j&
- arr = [a1:d30]
- ReDim brr(1 To 10, 1 To 2)
- '取第2~3列的第11~20行数据给brr数组
- For i = 1 To 2
- CopyMemory brr(1, i), arr(11, i + 1), 10 * 16 '单元格数组每个元素占24个字节
- '感谢几位大师的指正,variant类型32位下是16字节,64位下是24字节,使用时注意
- Next i
- [f1].Resize(10, 2) = brr
- End Sub</div>
复制代码
也可以赋值给不同维数的数组。
根据数组类型不同,每个元素占用的字节数不同,可以通过类型来判断。
|
评分
-
9
查看全部评分
-
|