excel sheet中数据的快速复制

本文介绍了一种使用VBA(Visual Basic for Applications)通过CopyMemory函数实现在Excel中复制数据的方法。该方法可以处理不同大小的复制和粘贴区域,并在粘贴区域小于复制区域时进行数据截取,反之则用空格填充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'利用Copymemory 复制数组,实现excel sheet中数据的任意复制,粘贴区域小于复制区域,数据将被截取,否则将用空格填充


Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Sub copyrange(ByVal src As Range, ByVal dest As Range) ' copy all data from src to dest
Dim arrsrc(), arrdest()
arrsrc = src
arrdest = dest
ReDim arrdest(1 To dest.Rows.Count, 1 To dest.Columns.Count)
CopyMemory ByVal VarPtr(arrdest(1, 1)), ByVal VarPtr(arrsrc(1, 1)), 16 * src.Rows.Count * src.Columns.Count
dest = arrdest
Erase arrsrc
Erase arrdest
End Sub

Sub xxx() '将a1:c100 区域数据复制到d3:h40
copyrange Range("a1:c100"), Range("d3:h40")
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值