编译错误参数在Mac上不是可选的

问题描述 投票:0回答:1

我有一个在Windows 10上的Excel 2010的工作表,在我的客户端在Excel 2011 for Mac上失败,因为当他们点击按钮时,"参数不可选 "错误。此外,在他们的另一台运行Office 365的电脑上也无法正常工作,似乎在第6行代码中突出显示了字符。

Sub Rectangle4_Click()

Dim xSelShp As Shape, xSelLst As Variant, I As Integer
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox4

If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "SAVE"
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "SELECT"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("R4") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("R4") = ""
    End If
End If
End Sub

The ListBox it is showinghiding is an ActiveX ListBox。

我怀疑这是否相关,但在工作表中有40个这样的矩形按钮,所有的代码都几乎相同,只是切换4个引用。

谁能看出我在这里遗漏了什么?或者知道这样的代码有什么跨平台的问题吗?

谢谢你。

excel vba macos compatibility
1个回答
0
投票

如果有人遇到这种情况,似乎确实是蒂姆是正确的,ActiveX控件在Mac上不起作用。但他们也没有在Office 365中工作。我把这个换成了表单控件,并且在我的客户那边得到了一切完美的工作。我对过去的自己的建议是,从一开始就使用表单控件,如果你正在处理一些你要发送给别人的东西,那么要不惜一切代价避免使用ActiveX。

© www.soinside.com 2019 - 2024. All rights reserved.