【问题标题】:ActiveSheet.Range.Select returns error 462 "The remote server machine does not exist"ActiveSheet.Range.Select 返回错误 462“远程服务器计算机不存在”
【发布时间】:2020-04-22 14:08:12
【问题描述】:

这应该很简单,但在尝试了许多不同的代码变体后我看不到问题。我第一次运行代码时,它选择单元格“B4”到列的末尾。下次我运行它时,我收到错误 426,“远程服务器机器不存在或不可用”。然后我再次运行它,它运行正常。然后下次我得到错误。等等疯狂!

Dim g_OBJ_EXCEL_APP As Excel.Application
Dim g_OBJ_EXcel_WB As Excel.Workbook
Dim str_Cell_Ref As String, str_excel_filename As String, strSheetName as String
Dim g_OBJ_EXCEL_WS As Excel.Worksheet
    Call sForceAllExcelProcessClose 'Just to make sure its not causing a problem I kill all Excel before I start
    Set g_OBJ_EXCEL_APP = New Excel.Application
    str_excel_filename = "\\ahw.cc2.zone\ahw$\Users\rotto_ahw-global.com\Documents\Sample1.xlsx"
    Set g_OBJ_EXcel_WB = g_OBJ_EXCEL_APP.Workbooks.Open(str_excel_filename)
    strSheetName = "Sheet1"
    Set g_OBJ_EXCEL_WS = g_OBJ_EXcel_WB.Worksheets(strSheetName)
    g_OBJ_EXCEL_APP.Application.Visible = True
    str_Cell_Ref = "B4"
    g_OBJ_EXCEL_WS.Range(str_Cell_Ref, Range(str_Cell_Ref).End(xlDown)).Select 'This is where the error occurs

    Set g_OBJ_EXcel_WB = Nothing
    Set g_OBJ_EXCEL_WS = Nothing
    Set g_OBJ_EXCEL_APP = Nothing
End Sub

真诚感谢任何帮助。

【问题讨论】:

    标签: excel vba ms-access


    【解决方案1】:

    命令行中的Range

    g_OBJ_EXCEL_WS.Range(str_Cell_Ref, Range(str_Cell_Ref).End(xlDown)).Select
    

    不完全合格。所以它默认为ActiveSheet.Range。但是ActiveSheet 可能不可用,因为代码在Microsoft Access 内部运行,而不是Excel。因此出现错误。

    g_OBJ_EXCEL_WS.Range(str_Cell_Ref, g_OBJ_EXCEL_WS.Range(str_Cell_Ref).End(xlDown)).Select
    

    这完全使Range 成为工作表g_OBJ_EXCEL_WS 中的一个范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多