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

标签 vba excel 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

最佳答案

您需要将 , 更改为 ;

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

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

关于VBA excel英语2007导致excel 2016法语错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40119440/

相关文章:

sql - 将 Excel 中的数据与数据库相结合

connection - VSTO 3.0 获取/更改 Excel 2007 工作簿连接

VBA集合: list of keys

variables - 使长变量在 64 位和 32 位 Excel VBA 中工作

arrays - VBA - Countif Range 与数组中的至少一个值匹配

excel - 在行中查找特定的重复字母或数字

c++ - 对应于C++的MAKEWORD(2,2)的VBA值?

C#Excel : Correct way to get Rows and Columns count

arrays - 多次复印多张纸

excel - 在 Ms-Excel 2010 中帮助