У меня есть рабочий лист Excel в Excel 2010 на Windows 10, который сбой на стороне моего клиента в Excel 2011 для Ma c из-за ошибки «аргумент не является обязательным» при нажатии на кнопку. Кроме того, он не работает на другом компьютере под управлением 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
Список, который он отображает / скрывает, представляет собой ActiveX ListBox.
Я сомневаюсь, что это уместно, но на листе 40 таких кнопок Rectangle, все с почти одинаковым кодом, просто переключение 4 ссылок.
Может кто-нибудь увидеть, что мне не хватает Вот? Или знаете что-нибудь о кроссплатформенных проблемах с таким кодом?
Спасибо.