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

1 excel: elk kwartaal eigen tabblad, 1 tabblad totaal + grafieken totaal

Status
Niet open voor verdere reacties.

hoingkatleen

Gebruiker
Lid geworden
1 sep 2014
Berichten
87
Hoi,

Wat is de beste oplossing voor mijn probleem?
Ik heb een excel, tot hiertoe voor eigen gebruik.
Daarin zitten een hoop tabbladen met exact dezelfde indeling, waarin ik voor elk kwartaal een aantal gegevens invoer.

Het voorlaatste tabblad verzamelt al deze gegevens netjes onder elkaar in 1 tabel. Tenminste, IK verzamel ze daar door gewoon handmatig kopiëren en plakken van de waarden uit de andere tabbladen.
Op basis daarvan pas ik op het laatste tabblad de grafieken aan (bereik aanpassen, telkens als er een nieuw kwartaal is ingevoerd).

Ik weet natuurlijk dat dit vlotter en met minder manuele handelingen moet kunnen, maar had nooit de tijd om me erin te verdiepen.
Nu mijn collega dit taakje van me overneemt, zou het handig zijn haar toch een deftiger bestandje te kunnen aanbieden.

Wie heeft een suggestie voor mij?

Alvast hartelijk bedankt aan ieder die zich er even over wil buigen!
Katleen
 
Misschien goed om even jouw bestandje of een representatie hiervan als bijlage toe te voegen eventueel ontdaan van gevoelige informatie!
 
Hoi,

Heb je hier wat aan?

Code:
Sub Verzamelen()
Blad4.Select
Range("A3:B1000").Select
Selection.ClearContents

Blad1.Select
Range("A2:B5").Select
Selection.Copy
Blad4.Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False

Blad2.Select
Range("A2:B5").Select
Selection.Copy
Blad4.Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False

Blad3.Select
Range("A2:B5").Select
Selection.Copy
Blad4.Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False


End Sub

Bekijk bijlage Map1.xlsm
 
@JanBG

Lees svp wat draden van dit forum door.
Dan zie je dat 'select' en 'activate' in VBA overbodig zijn en vertragend werken.
De macrorecorder maakt weliswaar VBA-code, maar die kan/moet erg opgeschoond worden alvorens verder te gebruiken.
Bovendien kan met VBA veel meer gedaan worden dan met de recorder kan worden opgenomen (bijv. het werken met variabelen).
 
Zo, ik heb een voorbeeldje proberen te maken. Het is idd nogal een specifieke nood, dus dat is wel handig.
Intussen dacht ik mijn tabbladen te vervangen door een invulformulier (eentje per maand dan). Maar daar kunnen slechts 32 records op, tenzij ik mij in vba verdiep, klopt dat?
 

Bijlagen

  • voorbeeldje.xlsx
    134,4 KB · Weergaven: 76
Thanks JanBG, maar nu ik m'n voorbeeld heb opgeladen, zal je zien dat het iets complexer is.
 
@snb

Je zal ongetwijfeld gelijk hebben als Giga Honourable Senior Member en ik ben altijd bereid om te leren, dus waar kan ik in deze code Select weglaten? :confused:
 
Maar om dus zelf even mee verder te denken:
Kan ik 1 tabel/database maken die ingevuld wordt via formulier?
Waar dan een aantal automatisch berekende velden in komen obv input in andere velden.
En met die hele database zouden dan de grafieken op het laatste tabblad gevuld moeten worden.

Ik heb in mijn voorbeeld maar 2 kwartalen toegevoegd als vb, maar wel alle velden behouden die ik nodig heb. Dat is mss handig om te checken of een bepaalde oplossing werkt. Met dat formulier dacht ik er te zijn, maar aangezien ik echt heel weinig tot geen vba ken (kan wel behelpen met knippen/plakken en uitpluizen van andermans code) en dit beperkt is tot 32 velden, zit ik weer strop. Of ik moet 2 aparte gegevensformulieren maken, of toch vba, of jullie super ideeën afwachten :)
 
Overal:

te beginnen hier:

Code:
Blad4.Range("A3:B1000").ClearContents
 
Klopt, tenzij je met een leeg blad wilt beginnen
 
En bovendien snb: draden?????

Nieuwsgroepen en/of e-mails is in dit verband de juiste vertaling van threads
 
heeft er mss iemand een suggestie voor mij? Of een aanzet voor een user form ofzo? Thanks!
 
Ben aan het kijken, maar je bestand is complex, bevat samengevoegde cellen (altijd een crime in Excel), dus heb wel even tijd nodig
 
Het voorlaatste tabblad verzamelt al deze gegevens netjes onder elkaar in 1 tabel. Tenminste, IK verzamel ze daar door gewoon handmatig kopiëren en plakken van de waarden uit de andere tabbladen.

Verklaar u nader. De logica kan ik niet vinden. Wat kopieer je bv van blad 'kw1-17' naar wat in blad 'totaal' Even de te kopiëren range aangeven en ook waar je het plakt.
 
B9-C11 van kwartaal 1 2017 naar D88-E90 op totaal.
En zo doe ik dat voor elk setje tellers en noemers.
Er staan nog andere getalletjes op kwartaal 1 2017, maar die worden gebruikt om sommige tellers of noemers te berekenen.
 
Hoi,

Vast een voorproefje. Met de verwerkingscode ben ik nog bezig en met de manier waarop alle data in een keer worden geselecteerd, want nu moet elke rij nog individueel worden verwerkt maar het begin is er. :)

Bekijk bijlage Kopie van voorbeeldje.xlsm
 
Laatst bewerkt:
Het werkboek opent met een userform waarin gegevens kunnen worden ingevoerd/gewijzigd.
Als je het userform sluit (rechtsboven het kruisje) worden alle (gewijzigde) gegevens opgeslagen in het werkblad 'totaal'.

Het kan nog met minder code, maar dan wordt het wel wat ingewikkelder.
 

Bijlagen

  • 0_voorbeeldje.xlsb
    95,9 KB · Weergaven: 77
Laatst bewerkt:
Omdat er blijkbaar wel belangstelling bestaat voor de aangedragen oplossing hierbij de versie die veel compacter is.
Het gebruik van een klassemodule voor de verwerking van gebeurtenissen van soortgelijke elementen (in dit geval tekstvakken) maakt dat mogelijk.
 

Bijlagen

  • __voorbeeld_snb_002.xlsb
    97,8 KB · Weergaven: 81
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan