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

Registreren en factureren

Status
Niet open voor verdere reacties.

Johnsalon

Gebruiker
Lid geworden
9 feb 2015
Berichten
46
Ik zit met een probleem waar ik niet uitkom, misschien kan iemand mij helpen...

Ik heb een registratie systeem gebouwd door middel van tabbladen van 1 t/m 31 (in het voorbeeld iets minder) aan het einde heb ik wat overzichten gemaakt door middel van (voorbeeld)(=Blad7!B4) en dat ging best goed.

Maar nu heb ik er ook een factuurtje in gebouwd op een nieuw tabblad.... alleen als ik dagen niet werk, dan heb ik natuurlijk een hele rare lege plek op mijn factuur, ik zou graag zien dat dit opschuift dat wanneer ik niet werk hij ook niets vermeld of zoiets, misschien met een "als" formule, maar die kan ik zelf niet echt vinden.....

Ik hoop dat iemand mij kan helpen, ik voeg ook even een voorbeeldje bij deze vraag, dan word het snel iets duidelijker
Bekijk bijlage (oeldere) Voorbeeld.xlsx
Alvast heel erg bedankt.
 
Geen antwoord op je vraag, maar

doe jezelf een plezier en zet alle gegevens op 1 werkblad (i.p.v. op 31 werkbladen).

de indeling (van dit nieuwe tabblad) zou dan kunnen zijn:

datum - afnemer - werkzaamheden - tijd - tarief - totaal

Dit heeft in ieder geval 2 voordelen:

Je hoeft niet tussen alle tabbladen te scrollen en te zoeken.

Het wordt vele malen eenvoudiger om data te analyseren.
 
Of als 31 tabbladen niet te omzijlen is, maak een 32e tabblad met daarin alle gegevens onder elkaar van de 31 tabbladen. Hier kun je dan ook eenvoudig de gegevens voor je factuur uit nemen.
 
Beste,

Zoals skystormer en oeldere al aangaf: waarom plaats niet alle gegevens in één blad?
Ik heb de code van zapatr wat aangepast omwille van het hinderlijk flikkeren van het scherm en de tijdwinst.

Code:
Sub macro1()
Application.ScreenUpdating = False
With Sheets("Factuur")
For x = 43 To 13 Step -1
If .Range("E" & x).Value = 0 Then
.Rows(x).EntireRow.Delete
End If
Next x
End With
Application.ScreenUpdating = False
End Sub
 
Die screenupdating is mij bekend. Ik heb die met opzet weggelaten omdat het om een slechts gering aantal rijen gaat en flikkering daarom in het geheel niet hinderlijk is.
En tijdwinst: heb je die gemeten in miljoensten van een seconde?
 
Laatst bewerkt:
Beste,

@ zaprar : op basis van jouw commentaar, beter geen code van iemand aanpassen?
 
Ik ga ervan uit dat iedere volwassene zelf kan beoordelen wanneer dat zinvol is.
 
@ tkint

Je moet op het einde v/d code de Screenupdating wel terug op True zetten. ;)
 
Beste,

Klopt. Na de copy/paste in de laatste regel vergeten de false te wijzigen naar true!
 
Voor een simpele oplossing kun je natuurlijk een filter op regel 12 toepassen en dan in kolom E het getal 0/leeg uitvinken zodat deze niet zichtbaar worden. Is qua programmeren natuurlijk geen mooie oplossing maar is wel makkelijk en werkt net zo goed.
 
Ik heb het voorbeeld nog wat meer aan de werkelijkheid laten voldoen.... ik gebruik voor mijn registratie systeem (dat vele malen complexer is dan hier het voorbeeld) voor iedere dag 1 tapblad

Het opschuiven van de factuur is niet gewenst, dat werkt prima wanneer het gaat om 1 factuur, maar ik registreer voor gemiddeld 35 mensen, en wanneer de facturen krimpen, zijn ze weer niet meer uit het bestand te printen...

Ik heb begrepen dat er iets mogelijk is met een als code....??

Bekijk bijlage (oeldere) Voorbeeld.xlsx
 
Je schrijft dat je systeem veel complexer is dan het voorbeeld dus code schrijven voor dit voorbeeld zal niet veel uithalen want het is niet representatief voor de werkelijkheid.
Ik begrijp echt niet goed hoe je systeem in elkaar steekt want je registreert voor 35 personen, staan deze dan door elkaar per dag, of is het voor iedere persoon apart, moet er dan ook op naam gefilterd worden voor de factuur, enz ...
Meer vragen dan antwoorden.
Begin al eens uit te leggen hoe je met je registratiesysteem werkt en dan kunnen we verder.
 
@johnsalon

en het zou fijn zijn (voor de forumleden) als je ook even beantwoord wat je van de aangedragen oplossingen en suggesties vind.
 
En plaats een representatief voorbeeld. Zoals het nu is met op elke tab één regel geeft ook niet al te veel inzicht in hoe het geheel in elkaar steekt. Hoe bepaal je dat de factuur voor Jansen en Jansen is? Waarom staat de omschrijving in twee kolommen? Waar geef je aan welk persoon aan welk project gewerkt heeft?
 
Het is niet vaag,

Hier het bestand waar het omgaat.... hoe krijg ik die factuur zodanig goed eruit, zodat ik ze ook nog kan printen en bijvoorbeeld in PDF kan opslaan uiteindelijk!?

Alvast bedankt allemaalBekijk bijlage Voorbeeld werkmapje.xlsx
 
Laatst bewerkt:
Code:
Geen antwoord op je vraag, maar

 doe jezelf een plezier en zet alle gegevens op 1 werkblad (i.p.v. op 31 werkbladen).

 de indeling (van dit nieuwe tabblad) zou dan kunnen zijn:

 datum - afnemer - werkzaamheden - tijd - tarief - totaal

 Dit heeft in ieder geval 2 voordelen:

 Je hoeft niet tussen alle tabbladen te scrollen en te zoeken.

 Het wordt vele malen eenvoudiger om data te analyseren.

Blijft wat mij betreft mijn post in #3 openstaan.
 
Het werkmapje word dagelijks mee gewerkt, elk tabblad is een dag in de maand.... het is onmogelijk dit terug te brengen naar 1 tabblad!

Maar zoals ik intussen begrijp is het onmogelijk in exel uit te voeren wat ik van plan bent...

zal dit topic dan ook maar sluiten... weet iemand hoe ik dit kan sluiten zonder oplossing!?

In ieder geval allemaal hartelijk bedankt voor het mee danken, mocht ik zelf ooit de oplossing vinden dan laat ik het hier weten op het forum.
 
Laatst bewerkt:
Het probleem is dat jij vertrokken bent vanuit een visueel model ipv een functioneel model.
Om met VBA alle relevante informatie per persoon eruit te halen wordt een nachtmerrie en met formules weet ik zelfs niet of je erin gaat slagen om met zo'n aantal te onderzoeken cellen alles netjes aaneengesloten weer kunt geven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan