Boa tarde senhores, Fiz um relatorio que gera os dados em Excel e gostaria de saber de voces se alguem pode me ajudar na seguintes questão.... Quais os comandos no progress para ordenar o relatorio no Excel em uma determinada coluna....estou querendo ordenar essa coluna pelo campo de valores. Grato pela ajuda. André
Se você fizer no excel: Selection.AutoFilter Range("D6").Select ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort.SortFields.Add Key _ :=Range("B1:B12"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _ :=xlSortTextAsNumbers With ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With outra forma seria inserir na sua cláusula do for each o comando by tabela.campo.
Opa, Com relação a tabela, em colocar o by, ja tinha pensado nisso...o que acontece é que faço isso em linha de comando no progress... ex: hExcel:Range("G" + String(c-Linha)):VALUE = "=Sum(G1:G" + String(c-linha - 1) + ")" hExcel:Range("H" + String(c-Linha)):VALUE = "=Sum(H1:H" + String(c-linha - 1) + ")" hExcel:Range("I" + String(c-Linha)):VALUE = "=Sum(I1:I" + String(c-linha - 1) + ")". isso funciona blz... o que eu gostaria de saber é como faço isso mesmo q vc escreveu ai : Selection.AutoFilter Range("D6").Select ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort.SortFields.Add Key _ :=Range("B1:B12"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _ :=xlSortTextAsNumbers With ActiveWorkbook.Worksheets("sua_pasta").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With em linha de comando no PROGRESS.. pq ja tentei e sempre da um erro. mesmo porque monto a planilha em tempo de execução. No Aguardo.
Veja se desta forma te ajuda: Código: chexcelApplication:range("A1:L" + string(iColumn)):select. chexcelApplication:selection:AutoFilter(,,,).
Sempre que não consigo fazer algo no progress com excel crio uma macro no excel fazendo o trabalho no excel mesmo... depois vejo como ficou o código e "traduzo" para o 4gl... fica aí uma dica... abraço