2016-05-05 4 views
0

Я довольно новичок в генерации отчетов excel с помощью vb.net. Моя проблема в том, что я не могу правильно сортировать строки. Check my excel hereсортировать строки в excel программно

Что я хочу сделать, это отсортировать все строки, включая имя клиента, используя общее значение в качестве ссылки. Я использую сборку interop, и это код, который я пробовал, но он даже не работает должным образом.

Dim myRange As Excel.Range 

    myRange = Wsheet.Range("A7:AG17") 
    myRange.Select() 
    myRange.Sort(Key1:=myRange.Range("AG7:AG17"), _ 
          Order1:=Excel.XlSortOrder.xlDescending, _ 
          Orientation:=Excel.XlSortOrientation.xlSortRows, _ 
          SortMethod:=Excel.XlSortMethod.xlPinYin, _ 
          DataOption1:=Excel.XlSortDataOption.xlSortNormal) 
+0

Вы пытались записать макрос, чтобы добиться того, чего хотите в первую очередь? –

ответ

0

Это не использует свои диапазоны, но сортировать данные по итогам вы пробовали записи макроса в то время как это делать вручную первым?

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("AG8:AG16" _ 
    ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
With ActiveWorkbook.Worksheets("Sheet1").Sort 
    .SetRange Range("A7:AG16") 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 
+0

Я действительно сделал. Я попытался применить код, сгенерированный макросом, но у меня возникла ошибка в '.apply' или это потому, что я использую сборку interop? – HidekiMTC

Смежные вопросы