macros录制定义单元名称
我已经logging了一个相对的参考macros,其中第一个单元格是我想给范围的名称,所以我select我想命名的范围 – >右键单击 – >定义名称 – >因为名称已经包含在第一个单元格我不需要改变任何东西 – >我点击确定。
Example A1:B5 - I want to name it TSLA56 then I go to D1 to run the recorded macro to name D1:E5 to TSLA23
macros完成运行后,仍称为D1
我究竟做错了什么? 这甚至有可能吗?
loggingmacros:
Sub DefineName() ' ' DefineName Macro ' ' ActiveCell.Range("A1:B5").Select ActiveWorkbook.Names.Add Name:="TSLA56", RefersToR1C1:="=Sheet1!R1C1:R5C2" ActiveWorkbook.Names("TSLA56").Comment = "" End Sub
1 :
虽然你的行为被logging为相对的 , .RefersTo:=
在定义一个名字的时候, Name:=
和.RefersTo:=
并不是相对的。 您可以通过编辑并将select地址传递到macros代码行来调整。
ActiveWorkbook.Names.Add Name:=selection.cells(1,1).value, refersTo:="=" & selection.address
selection.cells(1,1).value
是指任何单个或多个单元格select的左上angular单元格中的值。