- Este tópico contém 8 respostas, 2 utilizadores e foi actualizado pela última vez há 14 anos, 9 meses por pmonica.
-
AutorArtigos
-
-
5 de Abril de 2010 às 23:35 #837pmonicaParticipante
boas,
estou a preparar uma folha que vai fazer a gestão da associação desportiva e cultural aqui da terra.
pressupostos:
1. todos os associados pagam a sua quota mensal até ao dia 8 do respectivo mês.
2. caso se atrasem no pagamento da quota de janeiro por exemplo, têm que pagar uma multa de “0.50 €” por cada mês de atraso a partir do 2 mês de atraso, isto é, no dia 8 de abril terão de multa do mês de janeiro 1.50€, 1.00€ do mês de fevereiro e 0.50€ do mês de março.
gostaria de obter ajuda para encontrar uma formula que me indique a cada momento o valor acumulado das multas que cada associado (que são muitos como devem imaginar) tem a pagar mediante as quotas que tem em atraso!algumas ideias?
paulo mónica
-
6 de Abril de 2010 às 16:48 #1403jorgerodAdministrador
olá paulo!
na secção downloads>anexos, encontras um ficheiro com uma primeira aproximação. adapta e depois diz qualquer coisa.
nota: a célula p2, contém um valor correspondente ao mês actual. o valor é dado no código que se encontra dentro do módulo1, o qual é executado sempre que o ficheiro é aberto, através do chamamento do sub abrir() através do sub auto_open().
o resto, são fórmulas simples.
fica bem.
-
6 de Abril de 2010 às 17:01 #1404jorgerodAdministrador
paulo,
há um erro no primeiro ficheiro. substui pelo segundo.
assim que possa, apago o 1º.
-
6 de Abril de 2010 às 17:14 #1405pmonicaParticipante
boas jrod,
agradeço a pronta resposta.
logo mais à noite vou testar mas, mais uma vez, e numa olhadela rápida pelo ficheiro, a “coisa” é simples de facto.
pode é complicar-se se houver quotas em atraso de anos anteriores, mas isso vou tentar contornar quando analisar em detalhe o teu ficheiro!gracias,
p. mónica -
7 de Abril de 2010 às 3:08 #1406pmonicaParticipante
jorge,
vez a questão que te apresento no ficheiro anexo, e informa-me se há resposta positiva para a minha questão [file name=pmonica_clube2.zip size=10385]https://www.exceler.org/v2/media/kunena/attachments/legacy/files/pmonica_clube2.zip[/file]
PMonica_Clube2.zipAttachments:
You must be logged in to view attached files. -
8 de Abril de 2010 às 2:11 #1407pmonicaParticipante
jorge,
já resolvi o problema com pequenos ajustes de formulas na folha do ficheiro. anexo-o para veres as alterações.
basicamente, alterei o código da macro “ao abrir” para colar o mês em a2, colar o ano em a3 e em a1 coloquei a seguinte fórmula:
“=se(b1=a4;a2;se(n1=a4;a2+12;se(z1=a4;a2+24)))“.
assim com o passar dos anos “os caloteiros” são sempre identificados!tenho é 2 questões que são importantes para adaptar isto no meu ficheiro:
- 1. na tua macro “abrir” não especificas em que folha o mês (e agora o ano) são registados! devo alterar o código de forma a estes dados serem registados para por exemplo na folha user para “sheets(“user”).range(“a2”).value = mes“?
2. no vbe tens a indicação “option explicit” em todas as folhas e em “este livro”. devo colocar esta indicação também em todas as folhas do meu ficheiro? (é que são ±15…))se me conseguisses confirmar estas 2 coisitas..
gracias
paulo mónica
[file name=pmonica_clube3.zip size=10914]https://www.exceler.org/v2/media/kunena/attachments/legacy/files/pmonica_clube3.zip[/file]
PMonica_Clube3.zipAttachments:
You must be logged in to view attached files. -
8 de Abril de 2010 às 21:02 #1408jorgerodAdministrador
quanto à 1ª pergunta:
sheets(“user”).range(“a2”).value = mes
correcto!
quanto à 2ª:
quando o option explicit é utilizado, todas as variáveis têm que ser declaradas. assim, se, por exemplo, utilizares uma variável, ex: userchoice e não declararesessa variável (ex. dim userchoice as string), vai aparecer-te a mensagem que a variável não foi definida.
porque se utiliza: para prevenir erros de escrita (ex: em vez de utilizares userchoice, utilizas por lapso uzerchoice). ora, este lapso pode trazer-te algumas consequências um pouco nefastas e às vezes difíceis de encontrar onde é que está o erro. assim se declarares a variável e tiveres declarado o statement option explicit, se tiveres um lapso, virá logo a mensagem e ser-te-á mais fácil corrigi-lo.
o option explicit não é obrigatório, mas, na minha opinião, é um óptimo método de programação vba.
podes ver um texto muito completo sobre toda esta matéria (declaração de variáveis) em: http://www.cpearson.com/excel/declaringvariables.aspx
pertence ao mvp chip pearson. muito bom mesmo!
🙂
-
8 de Abril de 2010 às 22:59 #1413pmonicaParticipante
jorge,
se entendi a tua explicação e a leitura (breve por agora) do link que forneceste, resumindo:
só ajuda se em todos os módulos de vb, userforms de vb, “worksheets” ou “my workbook” tivermos lá option explicit, independentemente de não ser mandatório, certo?paulo mónica
-
9 de Abril de 2010 às 1:07 #838jorgerodAdministrador
paulo,
correcto e afirmativo!
tem tudo a ver com o modo de programar. por isso é que pode ser ajustado no editor de vba, de modo a que, sempre que se crie um módulo, apareça no início do mesmo esta opção, que vale para todo o código que esteja dentro do módulo, quer o código tenha a ver com forms, com botões ou funções, etc.
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.