【问题标题】:VBA Code to copy and paste active column with merged cells insideVBA代码复制和粘贴活动列,其中合并单元格
【发布时间】:2017-04-11 23:07:03
【问题描述】:

我正在尝试复制活动列并将其粘贴到它旁边,但代码选择了整个工作表,因为它已合并单元格。

Sub CopyPaste()

Columns(ActiveCell.Column).Selection
Selection.Copy
ActiveCell.Offset(0,1).PasteSpecial Paste:=xlPasteAll

End Sub 

您能帮我添加缺少的代码以忽略合并的单元格吗?

【问题讨论】:

  • Columns(ActiveCell.Column).Selection 是做什么的?

标签: vba excel


【解决方案1】:

这是避免在 VBA for Excel 中使用 Select 的另一个原因。您的选择将随着合并的单元格展开。你可以试试这个:

ActiveCell.EntireColumn.Copy ActiveCell.Offset(0, 1).EntireColumn

同样,您应该找到一些方法来避免在代码中依赖 ActiveCell,并使用一些完全限定的范围。

【讨论】:

  • 感谢您的帮助。我不习惯不选择不编码,需要更改为不带选择的新编码
  • @Maxwell SO Excel-VBA 文档也可能对您有所帮助,例如best practices.
  • 谢谢大家,我忘了问我的问题。我想在复制列之后,将活动列复制并粘贴到值中
  • 您的意思是您只想复制没有格式的值?在这种情况下,你可以试试这个:ActiveCell.Offset(0, 1).EntireColumn.value = ActiveCell.EntireColumn.value
猜你喜欢
  • 2017-02-06
  • 2015-02-07
  • 2017-07-04
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-29
  • 2021-06-21
相关资源
最近更新 更多