Notifications
Clear all

Seleção alternada

11 Posts
4 Usuários
0 Reactions
2,214 Visualizações
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Boa tarde
Precisava de uma macro para selecionar células alternadamente. :D

 
Postado : 21/08/2014 2:47 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

E vai selecionar com qual critério?

 
Postado : 21/08/2014 3:05 pm
(@edcronos)
Posts: 1006
Noble Member
 

selecionar apenas não creio conseguir,
apesar de a muito tempo eu ter visto uma macro que tinha um comando que selecionava celulas alternadas igual se faz com a tecla CTRL

mas oq vai ser feito nessas celulas? colori, formatar, excluir?

sub pula()
CFinal=50 'ultima coluna em numero
for C=3 to CFinal step 4
cells(3,C).value="AlgumaCoisa"
next
end sub

 
Postado : 21/08/2014 3:08 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Gt, o critério seria apenas a informação de qual a 1ª e próxima célula a ser selecionada. Edcronos, uma vez selecionada a célula, é ativada uma macro, apenas isso. :D

 
Postado : 21/08/2014 3:59 pm
(@edcronos)
Posts: 1006
Noble Member
 

então coloque os comandos que mexem na celula entre o laço for next

ColFinal=50 'ultima coluna em numero
for Coluna=3 to ColFinal step 4
seu comando ... cells(3,Coluna) ...
next

 
Postado : 21/08/2014 4:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite,

Veja se este código de exemplo te ajuda:

Sub SelecionarCelulasAlternadas()
    Dim i As Long
    Dim j As Long
    Dim k As Long
    Dim Intervalo As Range
    
    Set Intervalo = ActiveCell
    i = ActiveCell.Row
    j = ActiveCell.Column
    
    For k = 1 To 100
        Set Intervalo = Application.Union(Intervalo, Cells(i + k * 2, j))
    Next
    
    Intervalo.Select
End Sub

Abraço

 
Postado : 21/08/2014 4:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Desculpe,

Não tinha visto o arquivo:

Sub SelecionarCelulasAlternadas()
    Dim j As Long
    Dim k As Long
    Dim Intervalo As Range
    
    Set Intervalo = [C3:C7]
    j = Intervalo.Column
    
    For k = 1 To 5
        Set Intervalo = Application.Union(Intervalo, Range(Cells(3, j + k * 4), Cells(7, j + k * 4)))
    Next
    
    Intervalo.Select
End Sub

Abraço

 
Postado : 21/08/2014 4:17 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Agradeço ao Edcronos a ajuda mais a solução do JValq ficou mais de acordo com a necessidade pedida. JValq a seleção ficou na coluna e não na linha, tem como "indireitar" isso.

 
Postado : 21/08/2014 4:19 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Opa, só mais uma "indireitada". :D

 
Postado : 21/08/2014 4:30 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Minhas desculpas, arquivo errado.

 
Postado : 21/08/2014 4:31 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Dei uma arrumada aqui. Acho que resolveu. :D

Sub SelecionarCelulasAlternadas()
Dim j As Long
Dim k As Long
Dim Intervalo As Range

Set Intervalo = [C3,G3,K3,O3,S3,W3]
j = Intervalo.Column

For k = 1 To 0
Set Intervalo = Application.Union(Intervalo, Range(Cells(3, j + k * 4), Cells(7, j + k * 4)))
Next

Intervalo.Select
End Sub

 
Postado : 21/08/2014 4:36 pm