FUNCOES DO EXCEL
Tem como se fazer um CALL de alguma função do EXCEL sem que seja necessário abrir uma planilha?
Se voce estiver utilizando o access ele possui uma series de funcoes equivalente a do Excel, de qual vc precisa?
Brodher para vc adicionar o arquivo como referência como adiciona o ADO e depois para chamar,basta colocar o nome do projeto que vc colocou e colocar um ponto que irá aparecer a sua rotina.
Sds
LuÃs Flávio
Sds
LuÃs Flávio
Olá colegas,
Bom dia.
=================================================================
Não há uma função especÃfica. Apenas para ilustrar, eu poderia citar a função PGTO, por exemplo. Mas poderia dizer que o grande interesse estaria nas funções financeiras.
=================================================================
A referência a ser chamada, eu imagino que seja o EXCEL e/ou Microsoft Visual Basic for Applications Extensibility.<=== Até aà é fácil - se é que eu entendi corretamente.
Aqui é que "a porca torce o rabo"...
Dá pra mandar um modelo? [s25] (usando a função PGTO, por exemplo)
=================================================================
Obrigado à  ambos.
Bom dia.
=================================================================
Citação:F.A.S escreveu:
Se voce estiver utilizando o access ele possui uma series de funcoes equivalente a do Excel, de qual vc precisa?
Não há uma função especÃfica. Apenas para ilustrar, eu poderia citar a função PGTO, por exemplo. Mas poderia dizer que o grande interesse estaria nas funções financeiras.
=================================================================
Citação:LUIS FLAVIO escreveu:
Brodher para vc adicionar o arquivo como referência como adiciona o ADO e depois para chamar,basta colocar o nome do projeto que vc colocou e colocar um ponto que irá aparecer a sua rotina
A referência a ser chamada, eu imagino que seja o EXCEL e/ou Microsoft Visual Basic for Applications Extensibility.<=== Até aà é fácil - se é que eu entendi corretamente.
basta colocar o nome do projeto que vc colocou e colocar um ponto que irá aparecer a sua rotina
Aqui é que "a porca torce o rabo"...
Dá pra mandar um modelo? [s25] (usando a função PGTO, por exemplo)
=================================================================
Obrigado à  ambos.
Ops...
O Luis Flávio não mostrou o caminho das pedras mas deu a dica.
Até onde eu consegui descobrir:
Ainda não vou encerrar por que podem surgir outros comentários que ampliem a questão. Se isso acontecer, TODOS ganharemos.
O Luis Flávio não mostrou o caminho das pedras mas deu a dica.
Até onde eu consegui descobrir:
a) Como referência, basta o EXCEL - claro que outras referências acrescentarão outras funções
b) A frase, quase completa é: project1.excel.WorksheetFunction.Pmt
c) não basta project1. - que é como eu havia entendido.
Os detalhes que faltam agora são:
1) Os nomes das funções estão em inglês (acho que pmt=pgto) e é preciso descobrir "o que" é "o que"
2) Como devem ser passados os parà ¢metros - imagino que sejam iguais aos usados na planilha - mas ainda não testei.
Ainda não vou encerrar por que podem surgir outros comentários que ampliem a questão. Se isso acontecer, TODOS ganharemos.
Amigo para saber o nome da função em Inglês basta gravar um amcaro digitando a fórmula e depois olhar no VBA que ele te retorna o nome da função em inglês,no lugar de vc colocar ; vc coloca vÃrgula [b],/b].
Mais uma excelente dica do Luis Flávio.
Alguém tem mais algum palpite? Comentário? [s25] - estou prestes a encerrar. [s44]
Alguém tem mais algum palpite? Comentário? [s25] - estou prestes a encerrar. [s44]
é isso aÃ, pessoal.
Agora devidamente testado. A Função PGTO do Excel, no VB deve ser usada desta forma:
Para refrescar a memória, busquei no HELP do Excel, a explicação da fórmula e seus parà ¢metros:
Com isso, dou o assunto por encerrado. Agradecendo aos colaboradores e esperando que outros possam aproveitar.
Agora devidamente testado. A Função PGTO do Excel, no VB deve ser usada desta forma:
Dim VP as Double '*** Valor da Prestação
Dim TJ as Double '*** Taxa de juros
Dim NP as Integer '*** Nº de Prestações
Dim VT as Double '*** Valor Total a ser Parcelado
VP = -1 * (project1.excel.WorksheetFunction.Pmt(TJ,NP,VT,,1))
Para refrescar a memória, busquei no HELP do Excel, a explicação da fórmula e seus parà ¢metros:
PGTO
Retorna o pagamento periódico de uma anuidade de acordo com pagamentos constantes e com uma taxa de juros constante.
Sintaxe
PGTO(taxa;nper;vp;vf;tipo)
Para obter uma descrição mais detalhada dos argumentos em PGTO, consulte VP.
Taxa é a taxa de juros por perÃodo.
Nper é o número total de pagamentos pelo empréstimo.
Vp é o valor presenteâ€â€ÂÂo valor total presente de uma série de pagamentos futuros.
Vf é o valor futuro, ou o saldo de caixa, que você deseja obter depois do último pagamento. Se vf for omitido, será considerado 0 (o valor futuro de determinado empréstimo, por exemplo, 0).
Tipo é o número 0 ou 1 e indica as datas de vencimento.
Definir tipo para Se os vencimentos forem
0 ou omitido No final do perÃodo
1 No inÃcio do perÃodo
Comentários
O pagamento retornado por PGTO inclui o principal e os juros e não inclui taxas, pagamentos de reserva ou tarifas, à  s vezes associados a empréstimos.
Certifique-se de que esteja sendo consistente quanto à  s unidades usadas para especificar taxa e nper. Se fizer pagamentos mensais por um empréstimo de quatro anos com juros de 12% ao ano, utilize 12%/12 para taxa e 4*12 para nper. Se fizer pagamentos anuais para o mesmo empréstimo, use 12% para taxa e 4 para nper.
Dica Para encontrar o total pago no perÃodo da anuidade, multiplique o valor PGTO retornado por nper.
Exemplos
A fórmula de macro a seguir retorna o pagamento mensal por um empréstimo de $10.000 a uma taxa anual de 8% que você deve pagar em 10 meses:
PGTO(8%/12; 10; 10000) é igual a -$1037,03
Para o mesmo empréstimo, se os vencimentos forem no inÃcio do perÃodo, o pagamento será:
PGTO(8%/12; 10; 10000; 0; 1) é igual a -$1030,16
A fórmula de macro a seguir retorna a quantia a ser recebida todo o mês se você emprestar a alguém $ 5.000 a 12% e quiser ser pago em cinco meses:
PGTO(12%/12; 5; -5000) é igual a $1030,20
Você pode utilizar PGTO para determinar pagamentos para anuidades em vez de empréstimos. Suponha que você queira economizar $50.000 em 18 anos economizando uma mesma quantia todo mês, você pode utilizar PGTO para determinar quanto você deve economizar. Se considerar que será capaz de obter 6% de juros em suas economias, você poderá usar PGTO para determinar o quanto terá que economizar durante o mês:
PGTO(6%/12; 18*12; 0); 50000) é igual a -$129,08
Se quiser colocar $129,08 em uma poupança a 6% todo o mês durante 18 anos, você terá $ 50.000.
Com isso, dou o assunto por encerrado. Agradecendo aos colaboradores e esperando que outros possam aproveitar.
Tópico encerrado , respostas não são mais permitidas