You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA:Intersect方法下新建工作表重命名报Error 424问题求助

解决VBA重命名工作表时的Error 424错误

问题根源

Error 424是对象要求错误,你的代码里错误地给Name属性加了.Value——工作表的Name本身就是字符串类型的直接属性,不存在Name.Value这个子对象,这才导致报错。

修正方案

方案1:修改右键点击触发的代码

复制工作表后直接引用新表对象,避免依赖默认的"(2)"命名(防止重复创建时命名变化导致找不到表),同时去掉多余的.Value:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Active_Range As Range
    Dim newSheet As Worksheet
    Set Active_Range = Range("B6:F11")
    
    If Not Application.Intersect(Target, Active_Range) Is Nothing Then
        '复制并直接获取新工作表对象
        Sheets("Employee Details").Copy after:=Sheets("Job Schedule")
        Set newSheet = ActiveSheet
        newSheet.Name = "Name One"
    End If
End Sub

方案2:修改工作簿新建工作表的触发器

同样去掉.Value,直接给Name属性赋值,同时增加类型判断避免非工作表对象触发错误:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    If TypeName(Sh) = "Worksheet" Then
        Sh.Name = "Name One"
    End If
End Sub

内容的提问来源于stack exchange,提问作者Frank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:10:19