我是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)。
感谢您的帮助!
答案 0 :(得分:1)
像这样?这是一次性的操作,但如果存在更广泛的模式,则可以扩大。
Sub x()
With ActiveCell
.Offset(-1, 1).Value = .Value
.EntireRow.Delete
End With
End Sub