【问题标题】:Copy and Paste Column Regardless of Worksheet Open无论工作表是否打开,都复制和粘贴列
【发布时间】:2020-01-07 07:55:44
【问题描述】:

我的工作簿中目前有 3 个工作表(“SheetJS”、“Sheet1”和“Sheet2”)。

我希望宏将 Sheet1 的值从 K 列复制并粘贴到 L 列。 我的代码有效,但在打开/活动的任何工作表上复制和粘贴列。

我希望宏仅对“Sheet1”中的值进行编码和粘贴,无论打开哪个工作表。

任何提示都会有所帮助。

谢谢!

Sub Copy_K_to_L_2()
    With ThisWorkbook.Sheets("Sheet1")
          Columns("K:K").Copy Destination:=Columns("L:L")

    End With

End Sub

【问题讨论】:

  • Columns("K:K").... 是对ActiveSheetImplicit 引用。您需要Explicit 关于您的工作表参考。在您的情况下 > 在Columns("K:K")...Columns("L:L") 前面放置一个.。但是,如果您只想传输值,则根本不需要使用 Copy/Paste,而是可以使用值传输。

标签: excel vba


【解决方案1】:

尝试编辑您现有的行:

Columns("K:K").Copy Destination:= Thisworkbook.sheets("Sheet1").Columns("L:L")

【讨论】:

  • 宁可:.Columns("K:K").Copy .Columns("L:L")。现在,您的第一个Columns 仍然是ImplicitActiveSheet 的引用。并且 OP 得到了一个很好的 With 声明,引用了她想要使用的 Sheet 对象。
  • 感谢真正帮助的人!我不知道存在隐式和显式引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多