Página 1 de 1

MACRO PARA SELEÇÃO PERSONALIZADA

Enviado: 20 Abr 2018 às 09:16
por osvaldorios
Bom dia,

Venho tendo um árduo trabalho selecionando células, para resolver meu problema preciso de uma macro que efetue o seguinte:

Na coluna A possuo os seguinte valores:

Tipo 1: COMPOSICAO
Tipo 2: INSUMO
Tipo 3: ASTU, CHOR, DROP e outros.

Possuo nas colunas B a E diversos valores que preciso selecionar, porém não posso selecionar a coluna A.

Eu preciso fazer o seguinte:

Escolher o código ASTU e selecionar seus valores que vão da Célula B1 até E6 e copiar (Ctrl+C), desconsidero a coluna A para seleção.

Não entendo muito de macro, pra entender melhor o que preciso:

INSERIR VALOR: "ASTU"

1º) SE NA COLUNA A = "ASTU", ENTÃO SELECIONA A PRIMEIRA LINHA DA COLUNA B QUE CONTEM "ASTU" (B1 até E1).

2º) COMO COLOQUEI ASTU, SELECIONA PARA BAIXO SEMPRE QUE FOR "ASTU", "COMPOSICAO" OU "INSUMO" (COMO SE FOSSE FICAR SELECIONADO SHIFT E IR CLICANDO COM A SETA PARA BAIXO).

3º) QUANTO ENCONTRAR UM VALOR DIREFENTE DE "ASTU", "COMPOSICAO" E "INSUMO" A SELEÇÃO PARA E FICA SELECIONADO ATÉ O ULTIMO VÁLIDO ("ASTU", "COMPOSICAO" OU "INSUMO"), NÃO SELECIONANDO O "CHOR", POR EXEMPLO.

4º) NO FIM TEREI AS CÉLULAS DE B1 ATÉ E6 SELECIONADAS E A MACRO COPIA.

5º) SE EU ALTERAR O VALOR "ASTU" PARA "CHOR" O RESULTADO SERIA A SELEÇÃO E CÓPIA DA CÉLULAS B7 ATÉ E10.



Será que alguém poderia me ajudar?


Desde já, obrigado!




Segue arquivo em anexo.

Re: MACRO PARA SELEÇÃO PERSONALIZADA

Enviado: 20 Abr 2018 às 10:45
por osvaldomp
Instale o código abaixo no módulo da planilha de interesse.
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim c As Long
  If Target.Column > 1 Or Target.Count > 1 Then Exit Sub
  If Target.Value = "INSUMO" Or Target.Value = "COMPOSICAO" Then Exit Sub
   c = Target.Row + 1
   Do While Cells(c, 1) = "INSUMO" Or Cells(c, 1) = "COMPOSICAO"
    c = c + 1
   Loop
   Range(Cells(Target.Row, 2), Cells(c - 1, 5)).Copy
End Sub