我在一个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
2条答案
按热度按时间oxf4rvwz1#
当我尝试编译代码时,显示您尚未声明
Rng
变量:bxjv4tth2#
这可能发生如果2安装的Word/Excel(64 /32)或其余的是在计算机上。apdada...\Excel\STARTUP必须为空太可能尝试卸载所有Excel完全和后,新的安装重试