重命名 Excel 工作表会生成错误



我正在尝试使用 VBA 将 excel 工作表重命名为该工作表上单元格的内容。

我创建了一个名为Rename_Sheets的单独模块,在线的各种帖子建议以下代码:

Sheets(3).Name = Sheet3.Range("A5")

或其非常相似的变体。

使用 debug.print,上述代码的两个部分都返回预期的结果,即工作表名称和单元格文本。当我按照引用的方式运行代码时,我收到消息"应用程序定义或对象定义错误"。我不明白为什么我会收到错误消息。

你有错别字

取代

 Sheet3.Range("A5") 

 Sheets(3).Range("A5") 

祝你好运

Sheet3.Range("A5")返回一个范围对象。相反,您想要的是返回的范围对象的 Value 属性:

Sheets(3).Name = Sheet3.Range("A5").Value

但请注意,一旦代码运行一次并且 Sheet3 被重命名,它将再次开始抛出错误,因为"Sheet3"将不存在。如果将其Sheets(3).Range("A5").Value与等号的另一侧相似,则此代码将多次工作。

最新更新