Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
Por riberex00
Posts
#60819
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 Excel? 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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord