Usar macro(VBA) p/ Placa de carro


#1

Prezados,

Gostaria de saber como configuro uma coluna que irá ser digitada a placa de carros, para que fique na seguinte formatação: AAA-0000?
Tentei criar “máscara”, tipo: AAA"-"0000, mas não dá!


#2

Olá @Toshi

Creio que formatar diretamente não dá, mas pode usar assim:

=MAIÚSCULA(ESQUERDA(A1;3))&"-"&DIREITA(A1;4)

ou no vba, definindo a coluna, que no caso fiz de b1:b100

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim letra As String, numero As String
    For Each x In Range("b1:b100")
    If x.Value <> "" And Len(x.Value) = 7 Then
        x.Value = UCase(x.Value)
        letra = Left(x.Value, 3)
        numero = Right(x.Value, 4)
        x.Value = letra & "-" & numero
    End If
    Next
End Sub

Espero ter ajudado.
abs


#3

Obrigado @lporto!
Tentei no vba, mas não deu certo!

Sub placa()

’ placa Macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim letra As String, numero As String
For Each x In Range(“b1:b100”)
If x.Value <> “” And Len(x.Value) = 7 Then
x.Value = UCase(x.Value)
letra = Left(x.Value, 3)
numero = Right(x.Value, 4)
x.Value = letra & “-” & numero
End If
Next
End Sub

Quanto executo aparece “Erro de compilação: era esperado End Sub”!


#4

Colega @Toshi, você está colocando uma Sub dentro de outra sub.
Cole apenas o código do colega @lporto no objeto planilha da sua pasta de trabalho.

Veja o objeto “Plan1” selecionado à esquerda.

O código funciona corretamente…


#5

Perfeito colega @xlarruda.
Lembrando que tem que ser dentro da planilha que vai conter as placas…
abs


#6

Obrigado @xlarruda e @lporto!
Agora consegui!
Valeu pela ajuda!