1
resposta

Problemas no código

Olá. Quando escrevo "RJ" ele não retorna "Rio de Janeiro" como deveria, mas ele vai direto para o "Sigla Inválida". Não consigo entender o que tem de errado no código... alguém pode me ajudar?

Sub Cadastrar()

    Range("a1048576").Select
    Range("a1048576").End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell = InputBox("Digite o nome do aluno: ")
    ActiveCell.Offset(0, 2).Select
    ActiveCell = InputBox("Informea siglado Estado")

    If UCase(ActiveCell.Offset(0, 2)) = "RJ" Then
    ActiveCell.Offset(0, 1) = "Rio de Janeiro"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "SP" Then
    ActiveCell.Offset(0, 1) = "São Paulo"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "MG" Then
    ActiveCell.Offset(0, 1) = "Minas Gerais"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "TO" Then
    ActiveCell.Offset(0, 1) = "Tocantins"

    Else

    MsgBox "Sigla inválida"
    ActiveCell.ClearContents
    ActiveCell.Offset(0, 2).ClearContents

    End If

End Sub
1 resposta

Olá Dênis tudo bom com você??

Efetuei as correções necessárias para que o seu código funcionasse =)

A lógica que utilizou está certinha, parabéns! Só precisei de uns ajustes na parte de construção da planilha.

Sub Cadastrar()

    Range("a1048576").End(xlUp).Offset(1, 0).Select
    ActiveCell = InputBox("Digite o nome do aluno: ")
    ActiveCell.Offset(0, 2) = InputBox("Informe a sigla do Estado")

    If UCase(ActiveCell.Offset(0, 2)) = "RJ" Then
    ActiveCell.Offset(0, 1) = "Rio de Janeiro"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "SP" Then
    ActiveCell.Offset(0, 1) = "São Paulo"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "MG" Then
    ActiveCell.Offset(0, 1) = "Minas Gerais"
    ElseIf UCase(ActiveCell.Offset(0, 2)) = "TO" Then
    ActiveCell.Offset(0, 1) = "Tocantins"

    Else

    MsgBox "Sigla inválida"
    ActiveCell.ClearContents
    ActiveCell.Offset(0, 2).ClearContents

    End If

End Sub

Espero ter ajudado e qualquer dúvida é só retornar aqui! =)