У меня этот макрос используется для инвертирования порядка выбранной строки. Этого макроса бежать гладко на моем английском ПК с Excel 2007, но не работают на моем компьютере с французским первенствуют 2016. Когда я запустить его в французском ПК, эта линия For j = 1 To UBound(Arr, 2)/2
получает мне Сообща ошибкуVBA excel Английский 2007 причина ошибка msg на excel 2016 французский
«» Компиляция ошибка: Синтаксическая ошибка ''
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
Это кажется совершенно правильный синтаксис команды. Если вы прокомментируете его (и соответствующий Next), тогда компиляция кода? –
он компилируется на английском версии 2007 года, но не на версии excel french 2016 – Anarchy98
Я не думаю, что вы отвечаете на вопрос, который я задал? –