首页 > 解决方案 > 避免使用复制和粘贴 VBA 进行选择

问题描述

我正在尝试减少对 select 的使用。我一直在参考下面的文章,但我不完全确定如何在这种情况下实现它。为了练习,我有下面的工作代码集,用于复制 B1 中的值并将其粘贴到 A 列中填充的尽可能多的行中。如果有人可以指导我如何避免这个坏习惯以便编写更多有效且高效的代码,我将不胜感激!

如何避免在 Excel VBA 中使用 Select

    Range("B1").Select
    Selection.Copy
    ActiveCell.Offset(0, -1).Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(0, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Range(Selection, "B1").Select
    ActiveSheet.Paste

标签: excelvba

解决方案


所有这些代码都可以翻译成这样:

Range("B1:B" & Cells(Rows.Count, "A").End(xlUp).Row).Value = Range("B1").Value

我们正在使Range单元格B1通过B并且列中的最后一行单元格A(我们通过使用获得Cells(Rows.Count, "A").End(xlUp).Row)等于单元格中的值B1

图像1


推荐阅读