Excel 如何根据单元格中的文本命名工作表?

Excel 如何根据单元格中的文本命名工作表?,excel,vba,Excel,Vba,我试图根据输入的单元格文本命名工作表,其中包含: Sheet2.Name = Range("C2") 这在另一个宏中工作: Sub Sheetname() Sheet3.Unprotect ThisWorkbook.Unprotect Sheet3.Name = Range("C2") Sheet3.Protect "" ThisWorkbook.Protect End Sub 在我的主宏上,它给了我 运行时错误“1004” 对象“工作表”的方法“名称”失败 到目前为止,运行时错误1004最

我试图根据输入的单元格文本命名工作表,其中包含:

Sheet2.Name = Range("C2")
这在另一个宏中工作:

Sub Sheetname()
Sheet3.Unprotect
ThisWorkbook.Unprotect
Sheet3.Name = Range("C2")
Sheet3.Protect ""
ThisWorkbook.Protect
End Sub
在我的主宏上,它给了我

运行时错误“1004”

对象“工作表”的方法“名称”失败


到目前为止,运行时错误1004最常见的原因是VBA代码引用不存在的命名范围。也许代码中的名称拼写错误。或者可能使用了无效的名称

检查是否存在所有范围:

Sheets("Total")
Sheets("MPT")

Sheet2.Name = Range("C2")
Sheet2.Range("ok_plant1")
Sheet2.Range("minor_plant1")
Sheet2.Range("pdca_plant1")
Sheet2.Range("pdca_plant1")
Sheet2.Range("nope_plant1")

检查以上所有范围(如果存在)。

您尚未为C2指定工作表,因此活动工作表上C2的内容可能不是有效名称。“工作表”对象的方法“名称”是
Sheet2.name
。我命名了单元格,但忘了在宏中更改它,非常感谢。
Sheets("Total")
Sheets("MPT")

Sheet2.Name = Range("C2")
Sheet2.Range("ok_plant1")
Sheet2.Range("minor_plant1")
Sheet2.Range("pdca_plant1")
Sheet2.Range("pdca_plant1")
Sheet2.Range("nope_plant1")