为什么选择范围变量会发生变化? [英] Why would a range variable change when selected?
本文介绍了为什么选择范围变量会发生变化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
最初选择的单元格存储在 rngStart
中,以便最后重新选择,因此宏不会将用户带走.但是,存储在 rngStart
中的范围会发生变化.貌似本身.最终是粘贴操作发生的范围.
The originally selected cell(s) are stored in rngStart
to be re-selected at the end, so the user won't be transported away by the macro. However, the range stored in rngStart
changes. Seemingly by itself. It ends up being the range where the paste operation happens.
Sub Macro2()
Application.ScreenUpdating = False
Dim rngStart 'The variable I'm struggling with
Dim ws As Worksheet
Set rngStart = Selection 'Store original selection
Set ws = ActiveSheet
Selection.Cut
'Find an empty cell in column B
For Each cell In ws.Columns(2).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
ActiveSheet.Paste 'Upon executing this line, rngStart changes to the cell being pasted to
rngStart.Select 'Supposed to return to the originally selected range
Application.ScreenUpdating = True
End Sub
推荐答案
将其另存为字符串.
Sub Macro2()
Application.ScreenUpdating = False
Dim rngStart As String 'The variable I'm struggling with
Dim ws As Worksheet
rngStart = Selection.Address 'Store original selection
Set ws = ActiveSheet
Selection.Cut
'Find an empty cell in row B
For Each cell In ws.Columns(2).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
ActiveSheet.Paste 'Upon executing this line, rngStart changes to the cell being pasted to
Range(rngStart).Select 'Supposed to return to the originally selected range
Application.ScreenUpdating = True
End Sub
这篇关于为什么选择范围变量会发生变化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文