Я использую следующую кодировку для переупорядочения столбцов
Dim search As Range
Dim cnt As Integer
Dim colOrdr As Variant
Dim indx As Integer
colOrdr = Array("fullDt", "branchName", "mediumDesc", "successInd", "accountNumber", "secondaryAccountNumber", "executingPartyName", "executingPartyNumber", "tranType", "currencyAmount", "cashAmount", "mechanism", "presenterName", "transactionDescription", "foreignCurAmt", "foreignCurrencyCd", "remitterName", "beneficiaryName", "countryFlow", "transactionReferenceNumber")
cnt = 1
For indx = LBound(colOrdr) To UBound(colOrdr)
Set search = Rows("1:1").Find(colOrdr(indx), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If Not search Is Nothing Then
If search.Column <> cnt Then
search.EntireColumn.Cut
Columns(cnt).Insert Shift:=xlToRight
Application.CutCopyMode = False
End If
cnt = cnt + 1
End If
Next indx
Вчера все работало нормально, но когда сегодня запускаются макросы, я получаю экран с подсказкой «выполнение кода было прервано».
Если я продолжаю нажимать продолжить, код запускается и завершается, если я отлаживаю, он переходит к одной из этих двух строк кода
Columns(cnt).Insert Shift:=xlToRight
Application.CutCopyMode = False
У меня есть другие пользователи, использующие тот жемакрос без проблем, так что теперь я не уверен, является ли это проблемой кода, или просто проблемой VBA / Excel (2016) или персонального ноутбука.
Любая помощь будет высоко ценится.
Ник