Може ли малко помощ?
Здравейте!
Имам проблем при използването на масиви в работна среда и не мога да открия грешката в кода. Надявам се аудиторията да е склонна за съдействие.
дефинирала съм 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
и след това ми подрежда колоните по азбучен ред, а не както съм ги избрала
Благодаря ви предварително!
Здравейте, Виолета. Изпратете файла с процедурата и данните на мейл [email protected].