Erro 424 no Excel (VBA)

Anônima
2022-04-29T16:49:03+00:00

Alguém consegue resolver o erro do meu código? não entendo porque não funciona

queria que cada caixa de seleção selecionada pudesse mostrar as colunas referidas ao calendário que eu criei, então comecei por janeiro mas diz que não há um "objeto" atribuído

Sub Jan()

If ControleAnual.Range("A19") = "VERDADEIRO" Then

Columns("F:AJ").Select

Selection.EntireColumn.Hidden = False

End If

If ControleAnual.Range("A19") = "FALSO" Then

Columns("F:AJ").Select 

Selection.EntireColumn.Hidden = True

End If

End Sub

Também já tentei

Sub JANE()

If Range("A19").Value = "VERDADEIRO" Then 

Columns("F:AJ").Hidden = True 

Else 

Columns("F:AJ").Hidden = False 

End If 

End Sub

Microsoft 365 e Office | Excel | Para empresas | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2022-05-02T02:19:53+00:00

Olá, Danielle.

Ao depurar seu código percebi que você não declarou a variável ControleAnual e a instancio como um tipo de dado range. Quando o VBA executa essa linha de código não pode achar esse objeto porque não há nenhum objeto com esse nome. (esse objeto não está na hierarquia de objetos do VBA) ele mostra o erro 424

Alterei seu código para o seguinte:

Declarei a variável ControleAnual como uma String pois ela irá armazenar um Texto contendo as palavras Verdadeiro ou falso

Depois foi feito um teste lógico se o valor que tiver na célula A19 for verdadeiro o código irá ocultar as células F:AJ. Se o valor for falso irá reexibir as células de F:AJ

Sub JanOcultar()

    Planilha1.Activate

    Dim ControleAnual As String

    ControleAnual = Range("A19").Value2

    If ControleAnual = "Verdadeiro" Then

        Range("F:AJ").Select

        Selection.EntireColumn.Hidden = True

    End If

End Sub

Sub JanReexibir()

    Planilha1.Activate

    Dim ControleAnual As String

    ControleAnual = Range("A19").Value2

    If ControleAnual = "Falso" Then

        Range("F:AJ").Select

        Selection.EntireColumn.Hidden = False

    End If

End Sub

Espero ter ajudado. Qualquer dúvida estou à disposição.

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

0 respostas adicionais

Classificar por: Mais útil