Може ли малко помощ?

VBA за Excel

Здравейте!

Имам проблем при използването на масиви в работна среда и не мога да открия грешката в кода. Надявам се аудиторията да е склонна за съдействие.

дефинирала съм vCOLs as Variant и c as Integer от тук искам колоните в дадена таблица да се подреждат по специфичен ред, който съм задала и съм посочила в масива;

vCOLs = Array ("Name", "Date", "Type")

With Worksheets ('"Test")

добавям колони, които не съществуват в таблицата от списъка:

For c = LBound (vCOLs) To UBound (vCOLs) If IsError (Application.Match (vCOLs (c), .Rows (1), 0)) Then _ .Cells (1, Columns.Count).End(xlToLeft).Offset (0,1) = vCOLs (c) Next c

With .Cells (1,1).CurrentRegion премахвам колони, които не са в списъка отдясно-наляво For c = .Columns.Count to 1 Step -1 If UBound (Filter (vCOLs, .Cells (1,c), True, vbTextCompare)) < 0 Then _ Next c

добавям избрания списък Application.AddCustomList ListArray :=vCOLs

премахвам текущото сортиране .Parent.Sort.SortFields.Clear

подреждам колоните в правилния ред .Cells.Sort Key1 :=.Rows (1), Order1:=xlAscending, _ Orientation :=xlLeftToRight, Header :=xlNo, MatchCase :=False, _ OrderCustom :=Application.CustomListCount - 1 End With

End With

и след това ми подрежда колоните по азбучен ред, а не както съм ги избрала

Благодаря ви предварително!

Здравейте, Виолета. Изпратете файла с процедурата и данните на мейл dutoto@gmail.com.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация