Índice:
Vídeo: [Excel] Como Extrair Partes de um Texto 2024
Se você já precisou exibir um número escrito como texto, você provavelmente descobriu que o Excel não oferece essa função. Quando o Excel não entrega, muitas vezes é possível corrigir a deficiência usando o VBA. Aqui está uma função VBA, denominada SPELLDOLLARS, que você pode usar nas fórmulas da planilha.
Exemplos Excel
Aqui estão alguns exemplos de SPELLDOLLARS.
O código VBA
Para usar este código, pressione Alt + F11 para ativar o Editor Visual Basic. Em seguida, escolha Inserir → Módulo para inserir um novo módulo VBA. Copie o código e cole-o no novo módulo.
Função SPELLDOLLARS (célula) Como Variant 'Retorna um valor, explicado em palavras Dim Dollars As String, Cents As String Dim TextLen Como Long, Pos-Long Temp Dim como String Dim IHundreds As Long, iTens As Long, iOnes As Long Dim Ones como Variant, Teens As Variant, Tens como Variant Dim Units (2 a 5) Como String Dim bHit Como Booleano, NegFlag Como Boolean 'É um número não-número ou célula vazia? If Not IsNumeric (célula) ou célula = "" Então SPELLDOLLARS = CVErr (xlErrValue) Exit Função End If 'É negativo? Se a célula 15 Então SPELLDOLLARS = CVErr (xlErrNum) Sair Função Final Se 'Fazer a parte de centavos Cents = Direita (Dólares, 2) e' / 100 Dólares 'Se célula = Pos - 2 Então bHit = Falso Se TextLen> = Pos Então iHundreds = Asc (Mid $ (Dollars, TextLen - Pos + 1, 1)) - 48 Se iHundreds> 0 Then Temp = Temp & "" e Ones (iHundreds) e "Hundred" bHit = True End If End If iTens = 0 iOnes = 0 Se TextLen> = Pos - 1 Então iTens = Asc (Mid $ (Dollars, TextLen - Pos + 2, 1)) - 48 End If If TextLen> = Pos - 2 Então iOnes = Asc (Mid $ (Dollars, TextLen - Pos + 3, 1)) - 48 End If If iTens = 1 Then Temp = Temp & "" & Teens (iOnes) bHit = True Else If iTens> = 2 Então Temp = Temp & "" & Tens (iTens) bHit = True End If If iOnes> 0 Then If iTens> = 2 Então Temp = Temp & "-" Else Temp = Temp & "" End If Temp = Temp & Ones (iOnes) bHit = True End If End If If bHit And Pos > 3 Então Temp = Temp & "" & Unidades (Pos 3) End If End If Posição seguinte SPELLDOLLARS = Trim (Temp) & "e" & Cents Se NegFlag Then SPELLDO LLARS = "(" & SPELLDOLLARS & ")" End Function