录制宏是否可以自动使用已定义的名称而不是单元格名称



我正在使用记录宏来做一个简单的复制和粘贴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。

最新更新