Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
Excel &引用;对象“U全局失败”的方法工作表;从工作簿\u打开事件调用宏时出错_Excel_Vba - Fatal编程技术网

Excel &引用;对象“U全局失败”的方法工作表;从工作簿\u打开事件调用宏时出错

Excel &引用;对象“U全局失败”的方法工作表;从工作簿\u打开事件调用宏时出错,excel,vba,Excel,Vba,启动此工作表时,出现“对象的方法工作表\u全局失败”错误。真正让我困惑的是,wc_user_update宏在未从工作簿_open事件调用时运行良好。此外,当我在工作簿打开事件中注释掉密码保护时,它仍然不起作用。因此,问题似乎在于如何从工作簿\u打开事件调用wc\u user\u update宏。我错过了什么明显的东西吗 此工作簿中的代码: Private Sub Workbook_Open() 'Dim ws As Worksheet 'For Each ws In Works

启动此工作表时,出现“对象的方法工作表\u全局失败”错误。真正让我困惑的是,wc_user_update宏在未从工作簿_open事件调用时运行良好。此外,当我在工作簿打开事件中注释掉密码保护时,它仍然不起作用。因此,问题似乎在于如何从工作簿\u打开事件调用wc\u user\u update宏。我错过了什么明显的东西吗

此工作簿中的代码:

Private Sub Workbook_Open()
    'Dim ws As Worksheet

    'For Each ws In Worksheets
        'ws.Protect password:="x", UserInterfaceOnly:=True
    'Next ws

    wc_user_update

End Sub
标准模块中的代码:

Public Sub wc_user_update()
    'Ask user if he wants to update usernames. If yes, prompt for credentials

     Dim update As Variant

    'On Error GoTo ErrorHandler

    With Worksheets("WC_USERS")
        update = MsgBox("Usernames have not been updated in " & .Range("wc_names_last_updated_days").Value & " days. Would you like to update now?", vbYesNo)
    End With

    If update = vbYes Then

        'show the windchill authentication userform centered in the excel window
        With wc_auth
            .StartUpPosition = 0
            .Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
            .Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
            .Show
        End With

    'Do stuff

    'update "last updated date" cell
    Worksheets("WC_USERS").Range("wc_names_last_updated_date").Value = Date

    Unload wc_auth

    Else
        MsgBox ("usernames not updating")
    End If

    ErrorHandler:

End Sub

看起来问题是我需要用这个工作簿限定工作表(“WC_用户”)。我还将变量名“update”改为“update\u choice”。它现在可以工作了