我将一个范围设置为另一个范围:
'保存行信息
Set rRow = loSrc.ListRows(lListRowIndex).Range
当我删除源时,rRow被清除。
'Delete row from table
loSrc.ListRows(lListRowIndex).Delete
为什么会这样?如果我写的话,这不会发生:
iNumber = iSource + 1
iSource is nothing
更重要的是,如何阻止这种情况发生,以便即使在执行loSrc.ListRows(lListRowIndex).Delete之后我也可以使用rRow。
答案 0 :(得分:0)
Matteo NNZ的评论帮助我理解这一点。
Set keywork创建对象的引用。删除对象时,引用也会受到影响。
使用
Dim vRow() as variant
而不是
rRow as range
我能写:
vRow = loSrc.ListRows(lListRowIndex).Range
loSrc.ListRows(lListRowIndex).Delete
并让vRow保留其值