VBA excel英语2007年导致错误消息在excel 2016法语

时间:2016-10-18 23:01:56

标签: excel vba excel-vba excel-2007 excel-2016

我有这个宏用于反转所选行的顺序。 这个宏在我的英文电脑上使用excel 2007顺利运行,但在我的法国电脑上使用excel 2016无效。 当我在法国电脑中运行它时,这一行For j = 1 To UBound(Arr, 2) / 2给我一个错误信息

''编译错误:语法错误''

  Sub FlipRows()
'Updateby20131126
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

1 个答案:

答案 0 :(得分:0)

您需要更改为;

这是导致问题的区域设置,分号的原因是区分小数分隔符,在许多国家/地区是逗号而不是点。

另一种选择是更改Excel版本中的分隔符(,。和;)