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