Dborghouts
Gebruiker
- Lid geworden
- 5 jan 2018
- Berichten
- 5
Hallo,
Aangezien ik nieuw ben op het forum zal ik me eerste even voorstellen. Mijn naam is Dennis, 37 en werk in de techniek. In mn vrije tijd en op het werk ben ik met regelmaat hobbymatig aan het klooien met excel en vba waar ik ondertussen best leuke dingetjes mee kan maar loop nu tegen een uitdaging aan waar mbv google niet helemaal uitkom.
Ik ben voor mijn vriendin een sheet aan het bouwen om haar administratie/facturen ed bij te houden (is net voor dr zelf begonnen als zzp paardrij instructeur). In principe werkt het alleen wil iets toevoegen om het nog wat makkelijker te maken. De globale werking is als volgt:
- Werkboek met meerdere sheets: Basis gegevens, factuur, inkomsten, uitgaven, kilometers, uren, omzetbelasting, loonbelasting, klanten, leveranciers
- Basis excel berekeningen/formules om omzet- en loonbelasting uit te rekenen op basis van de gegevens op tabs inkomsten en uitgaven
- tab uitgaven kun je uitgaven invullen: meerdere regels met dropdown menu's om leveranciers te selecteren vanuit een tabel (database) op tab "leveranciers" en factuurnummer, datum, prijs, btw enz
- Op het tab factuur vul je in wat je wilt factureren; dropdown menu om klant te selecteren vanuit een tabel op tab "klanten" en meerdere regels voor aantal, omschrijving, stukprijs, gereden kilometers en uren (uren en kilometers zijn weliswaar niet zichtbaar op uiteindelijke print van factuur)
- Bovenaan tab factuur meerdere knoppen (nieuwe factuur, print factuur, factuur opslaan en factuur boeken). Als je op de knop "factuur boeken" drukt, wordt er een regel ingevoegd op de tab inkomsten en worden factuurnummer, factuurdatum, bedrag, klant ed automatisch ingevuld. Daarnaast worden er op de tabs kilometers en uren 1 of meerdere regels toegevoegd (afhankelijk van aantal regels op factuur) en worden datum, aantal km/uren, klant automatisch ingevuld (ze moet ook verzamelfacturen maken voor bijv meerdere dagen per week/maand les geven bij de zelfde klant). Nadat al deze regels ingevoegd zijn en de gegevens gekopieerd, wordt er een pdf gemaakt en opgeslagen met voorgedefinieerde naam en locatie en vervolgens de sheet leeg gemaakt om een nieuwe in te vullen.
- Totalen aan uren (voor urenquotum), kilometers (voor km vergoeding), omzetbelasting en loonbelasting worden uitgerekend/bijgehouden op tabs inkomsten en uitgaven
Tot noch werkt alles perfect en is ze er eigenlijk best blij mee. de crux zit het hem nu in het volgende.
Zoals gezegd wil ze ook graag verzamelfacturen maken. Aangezien je de factuur 1 keer invult en gelijk boekt, moet ze die apart bijhouden en eens per maand ofzo de regels invullen op de factuur en vervolgens boeken zoals hierboven omschreven. Gaat prima, maar kan makkelijker dacht ik...
Ik wil nu dmv van een extra knop "factuur opslaan" de mogelijkheid maken om deels ingevulde factuur (met dus bijv 1 regel voor die ene dag les geven) te kopieren als nieuwe sheet zodat ze die later aan kan vullen. Het kopieren en hernoemen (origineel heet "factuur" en kopie wordt hernoemd naar "Fact. klantnaam") van de sheet gaat goed, commandbuttons worden meekopieerd en een aantal buttons worden gewist (alleen boeken, printen blijven staan. Nieuw en opslaan zijn niet meer van toepassing). De code die achter de sheet "Factuur" staat wordt ook netjes mee gekopieerd en heb dan ook niet een nieuw, gekopieerd object in VBA. Probleem is nu dat die code natuurlijk exact hetzelfde is als het origineel maar in die code wordt meermaals verwezen naar een cel op "factuur" (bijv Sheets("Factuur").range("C5").value). in de kopie moet die verwijzing dus aangepast worden naar de nieuwe sheet (bijv Sheets("Fact. klantnaam").range("C5").value).
Om een lang verhaal kort te maken wil dus in de code om de sheet te kopieren verwerken dat ie na het kopieren en hernoemen, alleen in de nieuwe sheet de string Sheets("Factuur") zoekt en vervangt voor Sheets("Fact. klantnaam").... Mooiste zou dan nog zijn dat na het boeken van de opslagen factuur, deze sheet weer verwijderd word zodat het na verloop van tijd geen brei van sheets wordt.
Bij voorbaat dank voor jullie hulp
Aangezien ik nieuw ben op het forum zal ik me eerste even voorstellen. Mijn naam is Dennis, 37 en werk in de techniek. In mn vrije tijd en op het werk ben ik met regelmaat hobbymatig aan het klooien met excel en vba waar ik ondertussen best leuke dingetjes mee kan maar loop nu tegen een uitdaging aan waar mbv google niet helemaal uitkom.
Ik ben voor mijn vriendin een sheet aan het bouwen om haar administratie/facturen ed bij te houden (is net voor dr zelf begonnen als zzp paardrij instructeur). In principe werkt het alleen wil iets toevoegen om het nog wat makkelijker te maken. De globale werking is als volgt:
- Werkboek met meerdere sheets: Basis gegevens, factuur, inkomsten, uitgaven, kilometers, uren, omzetbelasting, loonbelasting, klanten, leveranciers
- Basis excel berekeningen/formules om omzet- en loonbelasting uit te rekenen op basis van de gegevens op tabs inkomsten en uitgaven
- tab uitgaven kun je uitgaven invullen: meerdere regels met dropdown menu's om leveranciers te selecteren vanuit een tabel (database) op tab "leveranciers" en factuurnummer, datum, prijs, btw enz
- Op het tab factuur vul je in wat je wilt factureren; dropdown menu om klant te selecteren vanuit een tabel op tab "klanten" en meerdere regels voor aantal, omschrijving, stukprijs, gereden kilometers en uren (uren en kilometers zijn weliswaar niet zichtbaar op uiteindelijke print van factuur)
- Bovenaan tab factuur meerdere knoppen (nieuwe factuur, print factuur, factuur opslaan en factuur boeken). Als je op de knop "factuur boeken" drukt, wordt er een regel ingevoegd op de tab inkomsten en worden factuurnummer, factuurdatum, bedrag, klant ed automatisch ingevuld. Daarnaast worden er op de tabs kilometers en uren 1 of meerdere regels toegevoegd (afhankelijk van aantal regels op factuur) en worden datum, aantal km/uren, klant automatisch ingevuld (ze moet ook verzamelfacturen maken voor bijv meerdere dagen per week/maand les geven bij de zelfde klant). Nadat al deze regels ingevoegd zijn en de gegevens gekopieerd, wordt er een pdf gemaakt en opgeslagen met voorgedefinieerde naam en locatie en vervolgens de sheet leeg gemaakt om een nieuwe in te vullen.
- Totalen aan uren (voor urenquotum), kilometers (voor km vergoeding), omzetbelasting en loonbelasting worden uitgerekend/bijgehouden op tabs inkomsten en uitgaven
Tot noch werkt alles perfect en is ze er eigenlijk best blij mee. de crux zit het hem nu in het volgende.
Zoals gezegd wil ze ook graag verzamelfacturen maken. Aangezien je de factuur 1 keer invult en gelijk boekt, moet ze die apart bijhouden en eens per maand ofzo de regels invullen op de factuur en vervolgens boeken zoals hierboven omschreven. Gaat prima, maar kan makkelijker dacht ik...
Ik wil nu dmv van een extra knop "factuur opslaan" de mogelijkheid maken om deels ingevulde factuur (met dus bijv 1 regel voor die ene dag les geven) te kopieren als nieuwe sheet zodat ze die later aan kan vullen. Het kopieren en hernoemen (origineel heet "factuur" en kopie wordt hernoemd naar "Fact. klantnaam") van de sheet gaat goed, commandbuttons worden meekopieerd en een aantal buttons worden gewist (alleen boeken, printen blijven staan. Nieuw en opslaan zijn niet meer van toepassing). De code die achter de sheet "Factuur" staat wordt ook netjes mee gekopieerd en heb dan ook niet een nieuw, gekopieerd object in VBA. Probleem is nu dat die code natuurlijk exact hetzelfde is als het origineel maar in die code wordt meermaals verwezen naar een cel op "factuur" (bijv Sheets("Factuur").range("C5").value). in de kopie moet die verwijzing dus aangepast worden naar de nieuwe sheet (bijv Sheets("Fact. klantnaam").range("C5").value).
Om een lang verhaal kort te maken wil dus in de code om de sheet te kopieren verwerken dat ie na het kopieren en hernoemen, alleen in de nieuwe sheet de string Sheets("Factuur") zoekt en vervangt voor Sheets("Fact. klantnaam").... Mooiste zou dan nog zijn dat na het boeken van de opslagen factuur, deze sheet weer verwijderd word zodat het na verloop van tijd geen brei van sheets wordt.
Bij voorbaat dank voor jullie hulp