我正在使用记录宏来做一个简单的复制和粘贴VBA代码:
Range("F12").Select
Selection.Copy
Range("F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
但我已经定义了单元格F12和F10(所以如果我要添加行/列,它不会打乱公式(,我想知道是否有一种方法可以记录宏,使其自动使用定义的名称。这可能吗?或者,在我录制后,有没有一行可以添加到代码中,可以很容易地用定义的名称替换单元格?现在,我正在使用定义的名称手动更新代码。我想继续使用记录宏,因为这次我已经手动复制和粘贴了,但我希望将来能使用VBA。
根据实际数据/单元格的数量(而不是Q中的数据/单元格,我认为由于实际原因可能会"缩小"(,您只需将目标单元格"设置"为源值,即可更快地执行VB:
Sub Demo()
Application.ScreenUpdating = False
[named_cell_destination].Value = [named_cell_source].Value
Application.ScreenUpdating = False
End Sub
其中:'named_cell_source'和'named_cell_destination'是您在excel中赋予的名称。
或者,如果你想在excel中归属/添加命名范围,并在之后采用类似于上面的方法,你可以这样做:
Sub Demo2()
Dim Rng, Rng2 As Range
Set Rng = Range("A1:B8")
Set Rng2 = Range("A12:B19")
ThisWorkbook.Names.Add Name:="Range_1", RefersTo:=Rng
ThisWorkbook.Names.Add Name:="Range_2", RefersTo:=Rng2
[Range_2].Value = [Range_1].Value
End Sub
有关这方面的更多信息,请参阅wallstreetmojo。