我正在使用
ActiveCell.CurrentRegion.CreateNames top:=True, left:=False
这在命名顶部的列时很有效。我需要在工作表中将这些命名区域设为局部。有没有办法用CreateNames而不是Names.Add来做到这一点?
任何帮助都会非常感激。
答案 0 :(得分:2)
默认情况下,CreateNames
创建的名称范围是“工作簿”
你的意思是这样吗?
ActiveCell.CurrentRegion.Name = ActiveSheet.Name & "!" & _
ActiveCell.Offset(-1).Value
逻辑是使用Activesheet的名称直接命名它,以便范围保留到相关的工作表。我也使用.Offset
来补偿top:=True
。你必须相应地改变它。
您也可以使用
ActiveCell.CurrentRegion.Name = ActiveSheet.Name & "!" & _
Range(ActiveCell.CurrentRegion.Address).Cells(1, 1).Value
我们需要了解top:=True
将使用顶行中的标签创建名称。所以我假设第一个单元格有文本值。