Ir ao conteúdo
  • Cadastre-se
Douglasmam

Formula Do Excel

Recommended Posts

Ola a todos os visitantes e membros do Clube do Hardware.

Tenho uma planilha que tem os valores, quando eu digito um valor gostaria de que o excel escreve esse valor para mim por extenso.

ex: 10

dez reais

quero que essa formula escreva para mim desse jeito, não sei se tem como, se e uma formula ou uma formatacao, se alguem souber por favor me passe que preciso muito disso.

:bandeira:

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma das possibilidades é a edição de uma Macro como a que existe para o word ( a qual transcrevo abaixo):

' -------------------------------------------------------------

' Macro: ExtensoVBA - Chama a função extenso em Extens32.dll

' Ambiente: Word 97

' Autor: Carlos Machado - Maio, 1997

' Obs.: O cursor deve estar à direita do número.

' Antes do número, deve haver um espaço.

' -------------------------------------------------

Option Explicit

Public Declare Function extenso Lib "Extens32.dll" (ByVal Valor As String, ByVal Retorno As String) As Integer

Public Sub MAIN()

On Error GoTo ExtensoVBA_Err

Dim strValor As String

Dim strRetorno As String

Dim blnNoInicio As Boolean

Dim strTmp As String

Dim x As Integer

If Selection.Type = wdSelectionIP And Selection.Start = 0 Then blnNoInicio = True

If blnNoInicio = True Then Exit Sub

Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend

While Selection.Text = " "

If WordBasic.AtStartOfDocument() Then Exit Sub

Selection.ExtendMode = False

Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove

Wend

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove

Selection.ExtendMode = True

With Selection.Find

.Forward = False

.Wrap = wdFindStop

.Execute FindText:=" "

End With

Debug.Print Selection.Text

strValor = Selection.Text

Selection.ExtendMode = False

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove

strRetorno = String$(512, 32) '512 espaços

x = extenso(strValor, strRetorno)

strTmp = " (" & Trim$(strRetorno) & ")"

If x > 0 And strTmp <> " (real)" Then

Selection.TypeText Text:=strTmp

End If

ExtensoVBA_Fim:

Exit Sub

ExtensoVBA_Err:

MsgBox "Erro " & Err.Number & " - " & Err.Description

Resume ExtensoVBA_Fim

End Sub

Um Abraço.

Léo. :-BEER

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha muito obrigado pela atencao, mas não entendi onde copio isso, e uma formula muito complexa. sera que tem um jeito mais fácil.

Mas mesmo assim vou tentar, com isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma DLL (biblioteca de funções) gratuita que circula na Internet chamada Extens32.dll, que você pode baixar de www.pala.com.br/downloads/Extens32.dll. Coloque-a no diretório \Windows\System de seu computador. Entre no Microsoft Excel, e escolha Ferramentas, Macro, Editor do Visual Basic. No Editor, selecione Inserir, Módulo e digite o código a seguir:

Declare Function extenso Lib "Extens32.dll" (ByVal Valor As String, ByVal Retorno As String) As Integer

Function PassaExtenso(Valor As String) As String

Dim Retorno$, x%

Retorno$ = Space$(512)

x% = extenso(Valor, Retorno$)

PassaExtenso = Trim$(Retorno$)

End Function

Pode fechar o Editor do Visual Basic, clicando em Arquivo, Fechar e Retornar ao Microsoft Excel. Em seguida, no Excel, selecione Arquivo, Salvar como. Em Salvar Como Tipo, selecione Template (extensão XLT). Escolha a pasta de templates, que geralmente é C:\Windows\Application Data\Microsoft\Templates ou C:\Windows\Profiles\user_name\Application Data\Microsoft\Templates. Agora, sempre que for criar uma nova planilha, selecione Arquivo, Novo, e escolha o template que você criou, e a função estará disponível.

Para utilizá-la, basta digitar na planilha a função =PassaExtenso(valor), substituindo valor pelo número que você deseja ver escrito por extenso.

Léo. :-BEER

Compartilhar este post


Link para o post
Compartilhar em outros sites

:muro:

não entendi a parte que tem que salvar como xlt, não acho esse extensao, e não sei onde salvar e como carregar o arquivo para executar, ve tem como você me falar mais detalhado como fazer isso, eu agradeco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei isso na seção de dúvidas do Clubedohardware:

Antigamente eu tinha no meu Word 6.0 um programinha que escrevia automaticamente, após digitarmos um valor, o seu valor por extenso. Nunca mais encontrei esse programa e gostaria de saber como conseguir um programinha para o Office XP ou 97 que faça isso.

Em http://www.abcdicas.com.br/word/word16.html há esse plugin para o Office, disponível não só para o Word, mas também para o Excel e para o Access. Trata-se de uma macro que coloca o valor por extenso após você digitar o valor, que é uma verdadeira "mão na roda" se você trabalha muito preenchendo valores em contratos, notas, etc

Espero que ajude!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Guest Aline Paina
Oculto

Olá! Preciso de uma fórmula que seja como uma proc só que ao invés de retornar o primeiro valor procurado quero que retorne todos os valores correspondentes a um filtro de dados.

meu e-mail é aline_paina@sicredi.com.br

Compartilhar este post


Link para o post

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×