Ir ao conteúdo
  • Cadastre-se

Excel Mensagem de erro no vba excel


Ir à solução Resolvido por riberex00,

Posts recomendados

 

     Boa tarde pessoal, nesse meu programa sobre montagem de uma agenda de contatos quando eu acesso o menu e tento a opção “1” para incluir contato eu recebo a seguinte mensagem:

"Erro de compilação: Somente tipos definidos pelo usuário em módulos de objeto público podem ser convertidos para ou a partir de uma variante ou passados para funções late-bound." 

No Access funciona normalmente. Será que esse tipo de programa não pode ser feito no Exceç?  Ou o erro é por outro motivo? Obrigado.

 

Option Explicit

Type typContato

    nomeCompleto As String * 30

    dataNascimento As Date

    fone As String * 12

    email As String * 30 

End Type

Public arrContato(1 To 100) As typContato

Public intUltimoContato As Integer

Sub menuAgenda()

    Dim varOpcao As Variant

Do

    varOpcao = InputBox("Informe a opção desejada: " & vbCrLf & _

                vbLf & _

                "[1] incluir novo contato" & vbCrLf & _

                "[2] exibir contato" & vbCrLf & _

                "[3] editar contato" & vbCrLf & _

                "[4] excluir contato" & vbCrLf & _

                "[5] salvar contato" & vbCrLf & _

                vbLf & _

                "[6] sair & vbCrLf &" _

                , "Agenda de Conttos")

Select Case varOpcao

    Case 1

        Call incluirContato

    Case 2

        Call exibirContato

    Case 3

        Call editarContato

    Case 4

        Call exluirContato

    Case 5

        Call salvarContato

End Select

Loop Until varOpcao = 6

End Sub

Sub incluirContato()

    intUltimoContato = intUltimoContato + 1

    arrContato(intUltimoContato) = novoContato

End Sub

Function novoContato()

    novoContato.nomeCompleto = InputBox("Informe o nome do contato (*):", " Incluir Contato")

    novoContato.dataNasc = CDate(InputBox("Informe a data de nascimento (*):" & _

    vbCrLf & vbLf & _

                    "Foramto: dd/mm/aaaa", "Incluir Contato"))

    novoContato.fone = InputBox("Informe o telefone:" & vbCrLf & vbLf & _

                    "Formato: 00 00000-0000", "Incluir Contato")

    novoContato.email = InputBox("Informe o e-mail:" & vbCrLf & vbLf & _

                    "Foramto: endereco@dominio.com", "Incluir email")

End Function

Sub exibirContato()

    MsgBox listaContatos(True), vbInformation, "Lista de Contatos"

End Sub

Function listaContatos(Optional argCompleto As Boolean = False) As String

    Dim i As Integer

    For i = 1 To intUltimoContato

        listaContatos = listaContatos & _

        i & "  " & arrContato(i).nomeCompleto

        If argCompleto Then

            listaContato = listaContato & "  " & _

            arrContato(i).dataNasc & "  " & _

            arrContato(i).fone & "  " & _

            arrContato(i).email & vbCrLf

        Else

            listaContatos = listaContatos & vbCrLf

        End If

        Next i

 End Function

 

Sub editarContato()

End Sub

 

Sub exluirContato()

End Sub

 

Sub salvarContato()

End Sub

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!