mazocco Postado Dezembro 18, 2008 Denunciar Share Postado Dezembro 18, 2008 (editado) Olá, criei a macro abaixo, mas o problema é que tenho que fazer até a ordenação até a linha "Z11:Z16" como posso fazer para criar um loop?Sub Macro2() ' ' Macro2 Macro ' ' Keyboard Shortcut: Ctrl+w ' for Range("C11:C16").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("C11"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("C11:C16") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("D11:D16").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("D11"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("D11:D16") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("E11:E16").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("E11"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("E11:E16") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("F11:F16").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("F11"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("F11:F16") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End SubObrigado,Mazocco Editado Dezembro 18, 2008 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durutti_Black Postado Dezembro 18, 2008 Denunciar Share Postado Dezembro 18, 2008 Olá mazocco,Aparentemente a sua macro é muito confusa - deduzi que quer fazer o sort das 4 colunas...Explique-se um pouco mais sobre o que pretende Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mazocco Postado Dezembro 18, 2008 Autor Denunciar Share Postado Dezembro 18, 2008 Olá mazocco,Aparentemente a sua macro é muito confusa - deduzi que quer fazer o sort das 4 colunas...Explique-se um pouco mais sobre o que pretendeOlá 'Durutti_Black'...Está confusa mesmo, é que utilizei o gravador de macro, por isso, está confusa...O objetivo é ordenar cada coluna individualmente.Ex.:Possuo os seguintes dados:3 6 4 1 4 2 2 5 66 3 14 1 55 2 3Quero que o resultado seja:1 1 12 2 23 3 34 4 45 5 56 6 6Tem que ordenar cada coluna, iniciando da celula (A1:A6) e até (Z1:Z6)Entendeu?Muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 zav60 Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 Olá mazoccoEu, Zav60, e Durutti_Black, somos apenas uma pessoa...A sua Macro2 passa a isto:Sub Macro2() ' Keyboard Shortcut: Ctrl+w Dim mLinha Dim Col 'Activa a worksheet2 Worksheets("Sheet2").Activate 'Para as colunas A a Z 'em que a A = 1 e a Z = 26 For Col = 1 To 26 'E para as linhas a trabalhar que começam na 11 'e vão até à 16 Set mLinha = Range(Cells(11, Col), Cells(16, Col)) 'se quiser até à última linha utilizada use antes esta: ' Set mLinha = Range(Cells(11, Col), _ ' Cells(Cells(Rows.Count, Col).End(xlUp).Row, Col)) 'Faz a ordenação tendo como linha inicial a 11 mLinha.Sort Key1:=Cells(11, Col) Next Col End SubExperimente e diga se funciona... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mazocco Postado Dezembro 19, 2008 Autor Denunciar Share Postado Dezembro 19, 2008 Zav60, bom dia!Muitissimo obrigado!Testei e funcionou perfeitamente.Abraços.Claudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durutti_Black Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 mazocco,Não tem de quê. Disponha à vontadeUm abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mazocco
Olá, criei a macro abaixo, mas o problema é que tenho que fazer até a ordenação até a linha "Z11:Z16" como posso fazer para criar um loop?
Obrigado,
Mazocco
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.