Notifications
Clear all

Transpor Classificando em VBA

11 Posts
2 Usuários
0 Reactions
2,408 Visualizações
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Olá!

Gostaria de saber se poderiam me ajudar com esse Macro.

Gostaria de transpor linhas de resultados da Quina (loteria) para colunas classificando elas conforme seu valor e ordem que estão na linha!

A medida que for copiando e colando novos resultados na tabela, o macro irá classificar nas colunas conforme seus valores e ordem na linha, da esquerda para a direita!

Segue anexo com exemplo!

Desde já agradeço.

 
Postado : 22/10/2015 10:46 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Use o código abaixo!

Sub AleVBA()
Dim InputRange As Range
Dim OutputCell As Range

Set InputRange = Sheets("Plan1").Range("I15:M23")
Set OutputCell = Sheets("Plan1").Range("O2")

[O1].Value = "AleVBA"
ActiveSheet.Range("O2:O100").ClearContents

For Each cll In InputRange
    OutputCell.Value = cll.Value
    Set OutputCell = OutputCell.Offset(1, 0)
Next
 
Range("O2").CurrentRegion.Sort key1:=Range("O2"), order1:=xlAscending, Header:=xlGuess
 
End Sub

Depois use esse formula.

=SEERRO(ÍNDICE($O$2:$O$36;CORRESP(LIN(A1);O:O;0);1);"")

Caso queira que eu mande o anexo, é só avidar!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/10/2015 11:20 am
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Boa tarde Alexandre,

Obrigado por responder!

Gostaria que você mandasse o anexo por favor!

Vlw!

 
Postado : 22/10/2015 12:52 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boat arde!!

Se não for isso avise.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/10/2015 10:58 am
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Olá

Na verdade gostaria que as colunas ficassem na mesma ordem de números da linha, da esquerda para a direita.

Outra coisa seriam os números um de baixo do outro nas colunas

 
Postado : 27/10/2015 7:00 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Seria isso?

Sub AleVBA_17808()
Dim InputRange As Range
Dim OutputCell As Range
Application.ScreenUpdating = False
    Set InputRange = Sheets("Plan1").Range("I15:M23")
    Set OutputCell = Sheets("Plan1").Range("O2")
        ActiveSheet.Range("O:O").ClearContents
        [O1].Value = "AleVBA"
            For Each cll In InputRange
                OutputCell.Value = cll.Value
                Set OutputCell = OutputCell.Offset(1, 0)
            Next
        ActiveSheet.[O1].CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes
        ActiveSheet.[O2].CurrentRegion.Sort Key1:=Range("O2"), Order1:=xlAscending, Header:=xlGuess
        Call PartII
        ActiveSheet.Range("O:O").ClearContents
Application.ScreenUpdating = True
End Sub

Sub PartII()
    With ActiveSheet
        .Range("Q15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A1),$O$2:$O$50,0),1),"""")"
        .Range("Q15").AutoFill .Range("Q15:Q24")
        .Range("S15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A11),$O$2:$O$50,0),1),"""")"
        .Range("S15").AutoFill .Range("S15:S24")
        .Range("U15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A21),$O$2:$O$50,0),1),"""")"
        .Range("U15").AutoFill .Range("U15:U24")
        .Range("W15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A31),$O$2:$O$50,0),1),"""")"
        .Range("W15").AutoFill .Range("W15:W24")
        .Range("Y15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A41),$O$2:$O$50,0),1),"""")"
        .Range("Y15").AutoFill .Range("Y15:Y24")
        .Range("AA15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A51),$O$2:$O$50,0),1),"""")"
        .Range("AA15").AutoFill .Range("AA15:AA24")
        .Range("AC15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A61),$O$2:$O$50,0),1),"""")"
        .Range("AC15").AutoFill .Range("AC15:AC24")
        .Range("AE15").Formula = "=IFERROR(INDEX($O$2:$O$50,MATCH(ROW(A71),$O$2:$O$50,0),1),"""")"
        .Range("AE15").AutoFill .Range("AE15:AE24")
        .Range("Q15:AE24").Value = .Range("Q15:AE24").Value
        'Classifica
        [Q15:Q24].Sort Key1:=[Q14], Order1:=xlAscending
        [S15:S24].Sort Key1:=[S14], Order1:=xlAscending
        [U15:U24].Sort Key1:=[U14], Order1:=xlAscending
        [W15:W24].Sort Key1:=[W14], Order1:=xlAscending
        [Y15:Y24].Sort Key1:=[Y14], Order1:=xlAscending
        [AA15:AA24].Sort Key1:=[AA14], Order1:=xlAscending
        [AC15:AC24].Sort Key1:=[AC14], Order1:=xlAscending
        [AE15:AE24].Sort Key1:=[AE14], Order1:=xlAscending
    End With
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/10/2015 8:07 am
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Sim sim... isso mesmo... Mas gostaria que a ordem dos números nas colunas ficassem na ordem crescente conforme os sorteios... e que respeitassem a ordem da linha tambem da esquerda para a direita.

 
Postado : 27/10/2015 3:36 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Tem como vc montar esse resultado manualmente (Antes e Depois)?

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/10/2015 5:34 am
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Bom dia

Segue outro exemplo para ilustrar!

Obrigado

 
Postado : 28/10/2015 6:30 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja se ajuda

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/10/2015 10:27 am
(@franchico)
Posts: 37
Eminent Member
Topic starter
 

Tópico resolvido pelo AndersonLeal do fórum Guru do Excel.

Link: http://gurudoexcel.com/forum/viewtopic.php?f=7&t=1672&p=8797#p8797

Obrigado a todos que tentaram me ajudar!

Abraços!

 
Postado : 18/03/2016 8:28 pm