复制粘贴-相同的工作表和流程,但适用于整个电子表格

时间:2019-03-06 20:39:21

标签: excel vba copy-paste

我是VBA编码的新手(我主要使用R语言),并且在编写宏以进行复制和粘贴时遇到麻烦。具体来说,我可以很好地执行第一个命令,但是当我转到下一行执行相同的操作时,它将还原回初始单元格。

这是我正在使用的代码:

Keyboard Shortcut: Ctrl+h

Range("B2").Copy Range("C1")
Range("B4").Copy Range("C3")
Range("B6").Copy Range("C5")

以此类推... 这正是我想要执行的操作,但是我想知道是否有一种方法可以将其概括化,以便可以突出显示我要对其执行的每个“块”的第一个单元格(即A1,A2,B1 ,B2,C1,C2等),只需使用键盘快捷键即可。我使用以下方法使其部分工作:

 Sub Format()

' Format Macro

' Keyboard Shortcut: Ctrl+h

  Selection.Cut
  ActiveCell.Offset(-1, 1).Range("A1").Select
  ActiveSheet.Paste
  ActiveCell.Offset(1, -1).Range("A1").Select
  Selection.EntireRow.Delete

End Sub

但是,一旦我继续下一个程序段,它总是恢复为初始单元格(在这种情况下为A1)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

像这样?这是一次性的操作,但如果存在更广泛的模式,则可以扩大。

Sub x()

With ActiveCell
    .Offset(-1, 1).Value = .Value
    .EntireRow.Delete
End With

End Sub