Ir ao conteúdo
  • Cadastre-se

HelderREC

Membro Júnior
  • Posts

    17
  • Cadastrado em

  • Última visita

Reputação

2
  1. Edson, Obrigado pela resposta! Dos três pontos que você citou: 1 - Você está certo...fiz a alteração 2 - Fiz também essa alteração para formatar a data. Tentei as duas opções segeridas: "Format" e "CStr". Ainda assim não deu certo. 3 - Eu utilizei Long por ser a de maior abrangência, mas acho que poderia ser Double (alguma sugestão diferente? não conheço muito bem) Testei o código da Função com essas alterações mas mesmo assim retorna #VALOR! Quanto ao arquivo, não consegui anexar pois é um ".xlsm" (pelo que vi não é permitido no site) Mas os dados são os seguintes: Colunas E e F Datas e Valor da taxa dirárias. (Coluna E no formato de data dd/mm/yy), Coluna F número com "0,000000") Exemplo: Resumindo o objetivo da Função: Encontrar a taxa acumulada CDI em um range de taxas diárias * um percentual do CDI. Os dados de entrada na função são: 1)Data inicial 2)Data final 3)PercenualCDI (em alguma outra célula qualquer formato 0,00 - 0,98 por exemplo) O código então deve buscar a data inicial e final na coluna E e retornar o range (intervalo) de taxas correspondente da coluna F. Então executa o cálculo abaixo CDI = 1 For Each Cell In taxas CDI = CDI * (Cell.Value / 100 * PercentualCDI + 1) Next Cell O código do cálculo está correto. O problema está range "taxas", que não está funcionando.
  2. Olá pessoal Tenho um problema em uma função que fiz. Sempre retorna erro "#VALOR!". O código da função é: Function CDI(DataInicial As Date, DataFinal As Date, PercentualCDI As Long) As Long Dim a, b As Date Dim diini As Integer, difin As Integer Dim s, e, taxas, Cell As Range With Planilha3.Range("E1:E10000") s = Range(.Find(DataInicial, LookIn:=xlValues).Address).Row e = Range(.Find(DataFinal, LookIn:=xlValues).Address).Row - 1 End With Set taxas = Planilha3.Range(Cells(diini, 6), Cells(difin, 6)) CDI = 1 For Each Cell In taxas CDI = CDI * (Cell.Value / 100 * PercentualCDI + 1) Next Cell End Function Para testar o cálulo executado eu criei uma sub que está funcionando bem. Mas gostaria de ter a mesma funcionalidade em uma função A Sub que fiz é essa: Sub CDI1() Dim s, e, taxas As Range Dim DtIni, DtFim As Date Dim CDI, percuntualCDI As Long DtIni = Range("a1").Value DtFim = Range("a2").Value PercentualCDI = Range("a3") With Planilha3.Range("E1:E10000") s = Range(.Find(DtIni, LookIn:=xlValues).Address).Row e = Range(.Find(DtFim, LookIn:=xlValues).Address).Row - 1 End With Set taxas = Planilha3.Range(Cells(s, 6), Cells(e, 6)) CDI = 1 For Each Cell In taxas CDI = CDI * (Cell.Value / 100 * PercentualCDI + 1) Next Cell Range("A4") = CDI End Sub Eu acho que o erro na FUNÇÃO está relacionado a declaração das variáveis...mas não sei como resolver esse erro. Alguém pode me ajudar? obrigado Helder

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!