Я пытаюсь переставить столбцы из необработанных данных, которые вытаскиваются из системы. Но я получаю «Ошибка компиляции» из-за заголовка »)« Фактическая общая сумма (маяк) (USD) » , И еще одна вещь - тот же самый код работает, если заголовок имеет нормальный текст. Поэтому может кто-то помочь мне исправить эту проблему. И для ссылки я добавил скриншот, подсвечивающий, где именно эта ошибка наступает. Вот мой код.
Sub ReorderColumns()
Dim arrColOrder As Variant, ndx As Integer
Dim Found As Range, counter As Integer
arrColOrder = Array("Project No", "Contract Id", "IOU", "Project Type Final", "Project Currency", "SP", "Digital Flagging", "Sub IOU", _
"Sub SP", "Executing Company", "Front Ending Company", "Project Location w.r.t Corporate", "Project Type", "Project Location", "Pure Turnkey Project", _
"Nature Of Project", "BRM", "GL", "AM", "Group Client", "Customer", "Service Month", "GL Date", "Source", "Period", "GNDM Tag", "Service Line" _
"Actual Total Amount (Beacon Rate) (USD)", "Projected-By Budget Total Amount (Beacon Rate) (USD)", "Projected-By Allocation Total Amount (Beacon Rate) (USD)")
counter = 1
Application.ScreenUpdating = False
For ndx = LBound(arrColOrder) To UBound(arrColOrder)
Set Found = Rows("1:1").Find(arrColOrder(ndx), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If Not Found Is Nothing Then
If Found.Column <> counter Then
Found.EntireColumn.Cut
Columns(counter).Insert Shift:=xlToRight
Application.CutCopyMode = False
End If
counter = counter + 1
End If
Next ndx
Application.ScreenUpdating = True
End Sub