Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要使用VBA更改Excel中的多个单元格名称_Vba_Excel - Fatal编程技术网

需要使用VBA更改Excel中的多个单元格名称

需要使用VBA更改Excel中的多个单元格名称,vba,excel,Vba,Excel,我已经在excel中创建了多个单元格名称。我想根据这些名称所在的工作表为它们添加前缀。我目前正在使用此VBA代码执行此操作: Sub RenameCells() Dim n As Name For Each n In Sheet1.Names n.Name = "NLOC1_" & n.Name Next n End Sub 但是,它似乎并没有实际更改工作表中的名称。我没有收到任何错误,因此我不确定是什么错了,为什么什么都没有改变。名称似乎在工作簿级别,因

我已经在excel中创建了多个单元格名称。我想根据这些名称所在的工作表为它们添加前缀。我目前正在使用此VBA代码执行此操作:

  Sub RenameCells() Dim n As Name
  For Each n In Sheet1.Names
      n.Name = "NLOC1_" & n.Name
  Next n 
  End Sub

但是,它似乎并没有实际更改工作表中的名称。我没有收到任何错误,因此我不确定是什么错了,为什么什么都没有改变。

名称似乎在工作簿级别,因此您需要使用:

Sub RenameCells() Dim n As Name
  For Each n In ActiveWorkbook.Names
      n.Name = n.RefersToRange.Worksheet.Name & "_" & n.Name
  Next n 
End Sub

这可能是因为名称是工作簿范围而不是工作表范围。