Notifications
Clear all

Macro selecionar colunas

3 Posts
2 Usuários
0 Reactions
959 Visualizações
(@nosbier)
Posts: 26
Trusted Member
Topic starter
 

Boa tarde!
Pessoal, fiz uma macro para selecionar algumas colunas no excel, porém, quando eu insiro as colunas BR5:BR64,BT5:BT64,BV5:BV64,BX5:BX64,BZ5:BZ64,CB5:CB64,CD5:CD64, da erro.

estou anexando o modelo em um arquivo txt e postando aqui.
Se alguém puder me ajudar..

Valeu!

 
Postado : 21/06/2018 2:43 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

O método Union do VBA só aceita 30 argumentos por vez.
Como você tem 38 ranges, você primeiramente deverá inserir 30 e depois abre outra Union para inserir o restante.

Segue:

Se alguém souber uma forma mais fácil de fazer isso, por favor, compartilhe comigo.

Sub Selecionar()
Dim myrange As Range
Dim rg1, rg2, rg3, rg4, rg5, rg6, rg7, rg8, rg9, rg10, rg11, rg12, rg13, rg14, rg15, rg16, rg17, rg18, rg19, rg20, rg21, rg22, rg23, rg24, rg25, rg26, rg27, rg28, rg29, rg30, rg31, rg32, rg33, rg34, rg35, rg36, rg37, rg38 As Range

Set rg1 = Sheets("Plan1").Range("D5:D64")
Set rg2 = Sheets("Plan1").Range("F5:F64")
Set rg3 = Sheets("Plan1").Range("H5:H64")
Set rg4 = Sheets("Plan1").Range("J5:J64")
Set rg5 = Sheets("Plan1").Range("L5:L64")
Set rg6 = Sheets("Plan1").Range("N5:N64")
Set rg7 = Sheets("Plan1").Range("P5:P64")
Set rg8 = Sheets("Plan1").Range("R5:R64")
Set rg9 = Sheets("Plan1").Range("T5:T64")
Set rg10 = Sheets("Plan1").Range("V5:V64")
Set rg11 = Sheets("Plan1").Range("X5:X64")
Set rg12 = Sheets("Plan1").Range("Z5:Z64")
Set rg13 = Sheets("Plan1").Range("AB5:AB64")
Set rg14 = Sheets("Plan1").Range("AD5:AD64")
Set rg15 = Sheets("Plan1").Range("AF5:AF64")
Set rg16 = Sheets("Plan1").Range("AH5:AH64")
Set rg17 = Sheets("Plan1").Range("AJ5:AJ64")
Set rg18 = Sheets("Plan1").Range("AL5:AL64")
Set rg19 = Sheets("Plan1").Range("AN5:AN64")
Set rg20 = Sheets("Plan1").Range("AP5:AP64")
Set rg21 = Sheets("Plan1").Range("AR5:AR64")
Set rg22 = Sheets("Plan1").Range("AT5:AT64")
Set rg23 = Sheets("Plan1").Range("AV5:AV64")
Set rg24 = Sheets("Plan1").Range("AX5:AX64")
Set rg25 = Sheets("Plan1").Range("AZ5:AZ64")
Set rg26 = Sheets("Plan1").Range("BB5:BB64")
Set rg27 = Sheets("Plan1").Range("BD5:BD64")
Set rg28 = Sheets("Plan1").Range("BF5:BF64")
Set rg29 = Sheets("Plan1").Range("BL5:BL64")
Set rg30 = Sheets("Plan1").Range("BN5:BN64")
Set rg31 = Sheets("Plan1").Range("BP5:BP64")
Set rg32 = Sheets("Plan1").Range("BR5:BR64")
Set rg33 = Sheets("Plan1").Range("BT5:BT64")
Set rg34 = Sheets("Plan1").Range("BV5:BV64")
Set rg35 = Sheets("Plan1").Range("BX5:BX64")
Set rg36 = Sheets("Plan1").Range("BZ5:BZ64")
Set rg37 = Sheets("Plan1").Range("CB5:CB64")
Set rg38 = Sheets("Plan1").Range("CD5:CD64")

'Veja aqui em baixo: Inseri uma Union dentro da outra para agrupar as 8 ranges que ficaram de fora.
Set myrange = Union(Union(rg1, rg2, rg3, rg4, rg5, rg6, rg7, rg8, rg9, rg10, rg11, rg12, rg13, rg14, rg15, rg16, rg17, rg18, rg19, rg20, rg21, rg22, rg23, rg24, rg25, rg26, rg27, rg28, rg29, rg30), rg31, rg32, rg33, rg34, rg35, rg36, rg37, rg38)

myrange.Select

End Sub

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 21/06/2018 3:49 pm
(@nosbier)
Posts: 26
Trusted Member
Topic starter
 

Perfeito cara, funcionou redondinho.
Muito obrigado

 
Postado : 21/06/2018 4:18 pm