• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

automatisch lopende macro tussen tijdseenheid

Status
Niet open voor verdere reacties.

bartcorvers

Gebruiker
Lid geworden
6 apr 2012
Berichten
32
Ik heb een excelblad waarin ik de gezinsuitgaven en inkomsten beheer. Daarin heb ik ook een aantal vaste uitgaven die zich herhalen volgens een aantal betalingen per jaar. Momenteel gebruik ik daarvoor bestaande formules op een apparte worksheet. Ik zou echter liever hebben dat al mijn uitgaven en inkomsten in één Datasheet verzameld worden. Graag gebruik ik één sheet om al de doorlopende opdrachten in te stellen.(Zoals in dit voorbeeld) Verder zou ik graag willen dat een Macro er voor zorgt dat de doorlopende opdrachten automatisch ingevuld worden in de datasheet bij het verstrijken van de eerstvolgende betaaldag. In dit voorbeeld is aangegeven (aan de hand van de gebruikte kleuren) hoe het resultaat zou moeten zijn. (tot de maand oktober). De Macro zou bij het starten van het Excelblad eveneens een Msgbox kunnen vertonen met de vermelding welke doorlopende opdracht er is bijgeschreven in de datasheet. Het is wel belangrijk dat de beweging enkel loopt tussen de StartDatum en de Einddatum.

Wie kan mij helpen?
Alvast bedankt!!!Bekijk bijlage voorbeelddoorlopendeopdracht.xlsx
 
Hoe kan Excel/VBA weten welke kosten doorlopend zijn?
Ik zou het bestand vervangen door een bestand met fictieve gegevens.

Met vriendelijke groet,


Roncancio
 
in het voorbeeldbestand staat een sheet met al de doorlopende kosten.
Per doorlopende opdracht staat er de datum van eerste betaling, de einddatum (= tot wanneer de doorlopende opdracht moet lopen), het aantal betalingen in de periode tussen startdatum en einddatum, de benaming van de opdracht, het bedrag, en de eerstvolgende betaaldag welke moet worden berekend.

Het is dus de bedoeling dat VBA kijkt op de sheet "doorlopende opdrachten" en zoekt naar opdrachten waarvan de einddatum nog niet verstreken is. Van deze opdrachten moet VBA bepalen hoeveel betalingen er moeten uitgevoerd worden.(staat aangegeven per opdrachtregel in de kolom "Frequentie") Vervolgens moet VBA berekenen op welke datums deze betalingen moeten doorgaan (de startdatum is altijd de eerste betaaldag van de opdracht). VBA kan zo per opdrachtregel de eerstvolgende betaaldag (= eerstvolgende na now()) zoeken en neerschrijven in een cel achteraan de opdrachtregel.
Vervolgens kan VBA de eerstvolgende betaaldag gebruiken en vergelijken met de huidige tijd. Komen de huidige tijd en de eerstvolgendebetaaldag overeen dan kan de opdrachtregel ingelezen worden en neergeschreven in de datasheet.

Ik moet bekennen dat ikzelf niet in staat ben deze macro te bouwen omdat mijn kennis van VBA te beperkt is.
Ik ben ervan overtuigd iets te kunnen bijleren van andere Forumgebruikers.

groetjes Bart C
 
Het hoeft niet in een macro.

Nederlandstalige versie.
Code:
=ALS(C3<VANDAAG();"";DATUM(JAAR(B3);MAAND(NOW())+12/G3;1))
Engelstalige versie
Code:
=IF(C3<TODAY();"";DATE(YEAR(B3);MONTH(NOW())+12/G3;1))

Met vriendelijke groet,


Roncancio
 
spijtig maar de formule geeft de foutcode "NAAM?"

Ik begrijp dat ik de eerstvolgende betaaldag zou kunnen berekenen.
Maar dat bied nog geen oplossing om de juiste gegevens weg te schrijven in de datasheet.

mvg Bart
 
Gebruik je de Engelse versie of de Nederlandse?
Want beide bevatten fouten.

In de Nederlandese versie NOW vervangen door NU
In de Engelse versie wellicht de ";" vervangen door ","
 
hallo bart corvers,
als ik het goed begrijp dan moet het programma als het gestart wordt
alle automatisch betalingen controleren en eventueel toevoegen en sorteren op datum.
klopt dat?
groet sylvester

ps niet al je datums zijn datums (getallen met opmaak als datum) sommigen zijn gewoon tekst (geen getallen dus)
 
Gebruik je de Engelse versie of de Nederlandse?
Want beide bevatten fouten.

In de Nederlandese versie NOW vervangen door NU
In de Engelse versie wellicht de ";" vervangen door ","
Ik gebruik zelf de Engelstalige versie en hierin kan je ook ; gebruiken.
De NOW ipv NU is nogal slordig.

Met vriendelijke groet,


Roncancio
 
dat klopt ongeveer Sylvester. Het sorteren op datum in de datasheet hoeft niet omdat er zoekfilters gebruikt worden op deze sheet. (aan de hand van een macro). Je opmerking over de datums kan kloppen, niet alle velden zijn echte datums. Dat komt mogelijk omdat heel de datasheet wordt ingevuld door een Userform en comboboxen. Ik denk dat ik bepaalde invoervelden daarin niet gedefinieerd heb als datum.
In het voorbeeldbestand staan echter maar een paar regels in de datasheet, in de echte versie staan er een paar duizend.

Voorlopig was ik toch zelf aan de slag gegaan en dacht ik als eerste via een macro de eerstvolgendebetaaldag te berekenen en van daaruit verder te vertrekken.
Maar dan kwam ik tot het feit dat de functie echter alleen toekomstige opdrachten kan toevoegen en geen in het verleden. (bv ik voeg een vergeten opdracht toe van februari tot december, we zijn nu oktober dan zullen enkel hits na oktober worden toegevoegd en niet de vergeten van februari tot oktober). Uiteindelijk gaat deze gedachtengang misschien te ver en is het voldoende dat de functie werkt voor toekomstige opdrachten.

mvg Bart Corvers
 
hallo Bart

ik zit net een beetje naar je bestand te kijken op blad Data.

in de kolom "Frequentie/jaar"

is het nog mogelijk om daar 2 kolommen van te maken
met in de eerste kolom het aantal
en in de tweede kolom de soort
vb
soort betaling : elke 2 weken ------> eerste kolom: 2 tweede kolom: weken
soort betaling : wekelijks ----------> eerste kolom: 1 tweede kolom: week
soort betaling : elke 3 maanden ---> eerste kolom: 3 tweede kolom: maanden
soort betaling : jaarlijks -----------> eerste kolom: 1 tweede kolom: jaar
soort betaling : Dagelijks ----------> eerste kolom: 1 tweede kolom: dag
enz

dat is makkelijker programmeren dan bv 26 maal per jaar (want dat is niet precies eens in de 2 weken) of
-------------------------------------of 365 maal per jaar voor dagelijks dat (met een schrikkeljaar gaat dat fout)

groet sylvester
 
Ik heb een excelblad waarin ik de gezinsuitgaven en inkomsten beheer. Daarin heb ik ook een aantal vaste uitgaven die zich herhalen volgens een aantal betalingen per jaar. Momenteel gebruik ik daarvoor bestaande formules op een apparte worksheet. Ik zou echter liever hebben dat al mijn uitgaven en inkomsten in één Datasheet verzameld worden. Graag gebruik ik één sheet om al de doorlopende opdrachten in te stellen.(Zoals in dit voorbeeld) Verder zou ik graag willen dat een Macro er voor zorgt dat de doorlopende opdrachten automatisch ingevuld worden in de datasheet bij het verstrijken van de eerstvolgende betaaldag. In dit voorbeeld is aangegeven (aan de hand van de gebruikte kleuren) hoe het resultaat zou moeten zijn. (tot de maand oktober). De Macro zou bij het starten van het Excelblad eveneens een Msgbox kunnen vertonen met de vermelding welke doorlopende opdracht er is bijgeschreven in de datasheet. Het is wel belangrijk dat de beweging enkel loopt tussen de StartDatum en de Einddatum.

Wie kan mij helpen?
Alvast bedankt!!!Bekijk bijlage 165669

Bart,

Heb je wel eens overwogen om gebruik te maken van alle mogelijkheden die banken tegenwoordig bieden.
ING heeft b.v. TIM en de ABN heeft ook een programmaatje hiervoor.
Zij kunnen al dit soort vragen voor je regelen zonder dat je het zelf bij moet houden.

Is maar een idee

Wim
 
sylvester, de kolom Frequentie/jaar kan inderdaad nog opgesplist worden in 2 kolommen.
Echter aan de sheet "Data" kan niets meer worden veranderd. (de kolom frequentie/jaar staat op de sheet doorlopende opdrachten.)


Wimenbeer, ongetwijfeld bestaan er zeer uitgebreide programma's, aangeboden door diverse instellingen, maar soms ben ik trots dat ikzelf ook nog iets kan verwezenlijken. Dit is uiteraard niet altijd evident maar elke stap vooruit geeft me telkens een boost.
Dat ik dan ook nog iets kan opsteken van andere mensen vind ik fantastisch.
Maar... toch bedankt voor je reactie!

Bart Corvers
 
hallo Bart,

het zou handig zijn als je een unieke code kolom in het Data blad zou hebben

dat maakt het makkelijker te controleren of er geen duplicaten worden toegevoegd.

je zij in een eerdere post dat het Data blad niet meer aangepast kan worden.

als dat toevoegen van een kolom niet kan, is het moeilijk om betalingen die heel erg op elkaar lijken van elkaar te scheiden

bv als je 2 maal per dag een identieke betaling wil doen, gaat dat problemen opleveren.

hier over graag jou mening

groet sylvester
 
Sylvester, kolom "G" in de datasheet kan inderdaad nog gebruikt worden om een unieke code toe te voegen.
Ik had voordien begrepen dat je een kolom wou tussenvoegen in de datasheet. Omdat zoals eerder vermeld een userform (met verschillende tabbladen) gebruikt wordt om de datasheet in te vullen is een kolom tussenvoegen niet mogelijk. De userform schrijft in vast beschreven kolommen.

Nog twee vraagjes : de unieke codes, worden die voor al de records in de datasheet gebruikt of enkel voor de "doorlopende opdrachten"?
Welke macro bepaalt de unieke code (bv moet ook mijn gebruikte userform codes genereren of enkel de nieuwe macro die de doorlopende opdrachten plaatst)

Misschien is het nuttig een kopie van het originele bestand te posten?

Bart Corvers
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan