Ir ao conteúdo

Formula Do Excel


Douglasmam

Posts recomendados

Postado

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:

Postado

É 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

Postado

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

Postado

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

Postado

: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

  • 2 semanas depois...
Postado

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!

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...