Notifications
Clear all

Preenchimento de coluna com criterios em outra coluna

5 Posts
2 Usuários
0 Reactions
546 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde a todos!

Preciso de ajuda com uma macro que preencha celulas de uma coluna a partir de criterios que se encontrm em outra coluna.
Exemplo:

col A COL B
M
F
F
M
M

preciso que a coluna B seja preenchida com "Ao Senhor" ou "À Senhora" a medida que forem entrando dados na coluna A.
M é MASCULINO e F é FEMININO

Obrigado.

Silvio Felinto

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 10:01 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

SILVIOFELINTO,

Boa Tarde!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 26/06/2014 10:09 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

pq não usa fórmulas ? Há uma razão pra ser macros?

=se(A1="M";"Ao senhor";se(A1="F";"À senhora";""))

E arrasta!

FF

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 10:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muito obrigado Wagner!

É isso mesmo.
Só uma pergunta. Como faço para colocar esta macro em um módulo.
É só copiar e retirar o "Private"?

Silvio Felinto

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 10:49 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Silvio, se tem q ser VBA, eu adaptei e melhorei o código do Wagner conforme abaixo:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Application.EnableEvents = False
    
    With Target.Cells(1)
        If .Column = 1 And .Row > 1 Then
            If VBA.UCase(.Value) = "M" Then
                Range("B" & .Row).Value = "Ao Senhor"
            ElseIf VBA.UCase(.Value) = "F" Then
                Range("B" & .Row).Value = "À Senhora"
            End If
        End If
    End With
    
    Application.EnableEvents = True
    
End Sub

Motivo... Se vc digitar em diversas células e usar o Ctrl+Enter para finalizar, o código dele vai dar erro.

1- Para usar, copie o código acima, e abra o VBA (Alt+F11)
2- No explorador de projeto (Ctrl+R) procure e Encontre a planilha onde vc quer esse comportamento
3- cole o código ali, sem mudar nada, nem o public/private
4- volta no excel e teste

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 10:55 am