excel 代码不兼容时通常会出现错误

kcrjzv8t  于 2023-01-21  发布在  其他
关注(0)|答案(2)|浏览(264)

我在一个Excel文档中编写了一个VBA模块,然后在笔记本电脑上运行,最后发布给我的团队,开始了一轮测试。
不幸的是,他们中的很多人都遇到了以下错误:
隐藏模块中的编译错误:当代码与此应用程序的版本、平台或体系结构不兼容时,通常会出现此错误。
起初,我以为人们使用的Excel版本与我使用的版本不同(Excel 2016),然而,事实证明他们都使用了相同的版本。我尝试过的其他解决方案包括:

  • 正在检查引用以确保所有引用都包含在其他用户的计算机上。
  • 检查一下我在excel上使用的插件,除了默认的插件,我没有其他插件。
  • 确保我使用的是32/64位兼容代码(根据我通过谷歌找到的推荐解决方案)。我和我的团队都有x64电脑。

我不知道还能尝试什么,我已经浏览了谷歌的前30页,试图找到一个解决方案,但无济于事。有人能建议我尝试一个解决方案吗?
先谢谢你。

    • UPDATE**以下是相关代码:
Sub AcceptPush()
    Dim track As Excel.Workbook
    Dim push As Excel.Workbook
    Dim trackFC As Excel.Workbook
    Dim trackWks As Excel.Worksheet
    Dim pushWks As Excel.Worksheet
    Dim FCWks As Excel.Worksheet
    Dim pName As String
    Dim TLPass As Variant
    Dim lastrow As Long
    Dim rngFoundCell As Range
    Set rng = Nothing
    Dim MyCell As Range

    Set push = Workbooks("Push Alert - Software.xlsm")
    Set pushWks = push.Worksheets("Push")
    Set rngFoundCell = pushWks.Range("R11:R53").Find(What:="y")

    pName = pushWks.Range("D2").Value

    TLPass = InputBox("Enter the TL Password")

    Select Case TLPass
        Case "password"
            MsgBox "Password correct"
            If rngFoundCell Is Nothing Then
                MsgBox "You did not select a push to accept."
            Else
                Set track = Workbooks.Open(ThisWorkbook.Path & "\Account Pushing Tracker - Software.xlsm")
                Set trackWks = track.Worksheets("Accounts")
                Set trackFC = Workbooks.Open(ThisWorkbook.Path & "\Account Pushing Tracker - Team Tax.xlsm")
                Set FCWks = trackFC.Worksheets("Accounts")
                pushWks.Range("PushData[#All]").AdvancedFilter _
                Action:=xlFilterInPlace, _
                CriteriaRange:=push.Worksheets("Filter Criteria").Range("B6:Q7")
                pushWks.Range("R:S").EntireColumn.Hidden = True
                pushWks.Range("PushData").Copy
                trackWks.Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
                pushWks.Range("PushData").Copy
                FCWks.Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
                pushWks.Range("R:S").EntireColumn.Hidden = False
                pushWks.Range("PushData").ClearContents
                pushWks.ShowAllData
                Range("A1").Select
                Application.CutCopyMode = True
                track.Close SaveChanges:=True
                trackFC.Close SaveChanges:=True
            End If
        Case Else
            MsgBox "INCORRECT! Your attempt has been recorded"
            ActiveWorkbook.Worksheets("Log").Unprotect "123"
            ActiveWorkbook.Worksheets("Log").Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Application.UserName
            ActiveWorkbook.Worksheets("Log").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Format(Now(), "dd/mm/yyyy hh:mm:ss")
            ActiveWorkbook.Worksheets("Log").Protect "123"
    End Select
End Sub
oxf4rvwz

oxf4rvwz1#

当我尝试编译代码时,显示您尚未声明Rng变量:

Set Rng = Nothing
bxjv4tth

bxjv4tth2#

这可能发生如果2安装的Word/Excel(64 /32)或其余的是在计算机上。apdada...\Excel\STARTUP必须为空太可能尝试卸载所有Excel完全和后,新的安装重试

相关问题