Notifications
Clear all

Ir para próxima Selection.Offset via vba

4 Posts
3 Usuários
0 Reactions
982 Visualizações
(@asimoes)
Posts: 2
New Member
Topic starter
 

Ola Pessoal!
É o seguinte preciso saber como se faz via comando vba com que a partir de uma seleção com Selection.Offset desça para a próxima linha, tipo ActiveSheet.Cells(6, 2) desça para linha ActiveSheet.Cells(7, 2), mas sem utilizar Selection.Offset(1, 0).Select, pois a seleção tem que permanecer na ActiveSheet.Cells(6, 2).

ActiveSheet.Cells(6, 2).Select

While Selection.Offset(0, 5) <> ""
Do

If ActiveSheet.Cells(6, 7) = Selection.Offset(0, 25) Then

If Not ActiveSheet.Cells(6, 2).Find(Selection.Offset(0, 26)) Is Nothing Then
Selection.Offset(1, 0).Select
Else
ActiveSheet.Cells(6, 2) = ActiveSheet.Cells(6, 2) + "/" + Selection.Offset(0, 26)

End If

Else
Selection.Offset(1, 0).Select

End If

Loop Until Selection.Offset(0, 5) = ""
Wend

pois apos todo processo do loop preciso que comece a preencher as informações da próxima linha ActiveSheet.Cells(7, 2) até preencher todas.

o codigo acima preenche informações na ActiveSheet.Cells(6, 2).

talves atraves de uma variavel adicionando + 1 para mudar de linha, mas não sei como fazer.

espero que entendam!

desde já agradeço!

 
Postado : 12/08/2013 4:14 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

asimoes,

Boa Tarde!

Bem... pelo menos para mim, sua explicação está muito confusa! Não entendi nada! Talvez esse seja o motivo pelo qual ninguém ainda o ajudou desde ontem à noite. Se puder explicar melhor...

 
Postado : 13/08/2013 12:36 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu tb estou confuso.
Pelo seu código é inicialmente selecionado a célula B6;
então verifica se célula G6 está preenchida;
verifica se esse valor é igual à célula AA6;
se for verifica se célula AB6 é igual à célula B6.
Sendo igual vai para B7 caso contrario concatena B6 com AA6 (B6= B6 & "/" & AB6)
Vai selecionando a próxima (B7,B8...) até encontrar a célula G.. vazia. É Isso

 
Postado : 13/08/2013 1:17 pm
(@asimoes)
Posts: 2
New Member
Topic starter
 

Pessoal, consegui resolver com o seguinte código abaixo, concatenou certinho!
Valeu a todos!

Sub Macro4()
'
' Desenvolvido por André E. Simões
'

Dim add, add1, add2

add = 0
add1 = 0
add2 = 0

While ActiveSheet.Cells(6 + add, 7) <> ""
Do

While Sheets("CONSULTA ANÁLISE").Cells(2 + add1, 2) <> ""
Do

If ActiveSheet.Cells(6 + add, 7) = Sheets("CONSULTA ANÁLISE").Cells(2 + add1, 2) Then

If Not ActiveSheet.Cells(6 + add, 2).Find(Sheets("CONSULTA ANÁLISE").Cells(2 + add1, 16)) Is Nothing Then
add1 = add1 + 1

Else
ActiveSheet.Cells(6 + add, 2) = ActiveSheet.Cells(6 + add, 2) + "/" + Sheets("CONSULTA ANÁLISE").Cells(2 + add1, 16)
add1 = add1 + 1

End If

Else
add1 = add1 + 1

End If

Loop Until Sheets("CONSULTA ANÁLISE").Cells(2 + add1, 2) = ""
Wend

add1 = 0
add = add + 1

ActiveSheet.Cells(6 + add, 2).Select

Loop Until ActiveSheet.Cells(6 + add, 7) = ""
Wend

End Sub

 
Postado : 13/08/2013 6:22 pm