我听说过很多关于.Select在Excel VBA 中使用的可理解的憎恶,但我不确定如何避免使用它.我发现如果我能够使用变量而不是Select函数,我的代码将更加可重用.但是,ActiveCell如果不使用,我不确定如何引用事物(如等)Select.
我发现这篇关于范围的文章和这个例子关于不使用select的好处却找不到怎么样的东西?
我已经尝试了多种方法来执行此粘贴,但它们都没有工作.我对编程非常陌生,所以我需要一些帮助来理解为什么我一直得到错误1004或5.我甚至不明白这些错误是什么意思.
Cells(hotcell).Copy
Cells.Offset(0, 1).PasteSpecial
Run Code Online (Sandbox Code Playgroud)
或...粘贴,... PasteSpecial = xlpasteall,... pastespecial粘贴:= xlpasteall,范围(单元格("B"和i)).粘贴,范围("B"和i).paste,等等如上.
我完全失去了.该计划中的其他所有工作都很好.我只是无法将我复制的值粘贴到所需的单元格中(所有列都偏移了一定数量的列,但是在同一行中).帮助和解释都赞赏.
编辑感谢我收到的答案,我能够解决我的问题.在我看的任何地方,我真的找不到一个好的答案.谢谢!
我使用的解决方案是最简单的解决方案之一:
rng.Offset(0, 1) = rng.Text
Run Code Online (Sandbox Code Playgroud)
再次感谢回答的海报以及评论的海报.我太难了.
我正在尝试选择多个动态范围。尝试使用并集方法,并且在第一条“设置”行上遇到“对象”全局失败错误的方法“范围”。
Dim LR As Long
LR = Range("A60000").End(xlUp).Row
Dim R1, R2, R3, R4, R5, MultiRange As Range
Set R1 = Range("A7,:A" & LR)
Set R2 = Range("D7,:D" & LR)
Set R3 = Range("G7,:G" & LR)
Set R4 = Range("H7,:H" & LR)
Set R5 = Range("J7,:J" & LR)
Set MultiRange = Union(R1, R2, R3, R4, R5)
MultiRange.Select
Selection.Copy
Run Code Online (Sandbox Code Playgroud)