Ga naar inhoud

Automatisch kopiëren van gegevens naar een ander blad, op basis van 1 criterium


Technophobia
 Delen

Aanbevolen berichten

post-30626-1417704730,2685_thumb.jpg

Hallo allemaal,

Zoals de titel al zegt zoek ik een formule of een manier om vanuit een database van gegevens, automatisch gegevens te kopiëren naar een specifiek tabblad bepaald door een variabele/criterium.

In bijlage vinden jullie een voorbeeld (let op de verschillende werkbladen!):

Linkse figuur is de database met incidenten. Nu zou ik graag willen bijhouden hoeveel Jan er heeft opgelost en hoeveel Mieke + de gegevens die erbij staan (tijdstip, opgelost ja/nee. Gewoon de hele rij) EN dit in een ander werkblad.

In dat andere werkblad (zie rechtse figuur) zouden dus enkel gegevens mogen komen te staan met de variabele Jan/Mieke/Piet. Op zich mag gewoon de hele rij mee gekopiëerd worden naar het andere tabblad.

Als 2de punt zou dit geheel automatisch moeten gebeuren. Dus ook wanneer er een nieuw incident ingebracht wordt, zou deze naar het desbetreffende tabblad moeten gekopiëerd worden. Dus als er een nieuw incident van Jan bijkomt dan moet die hele rij ook naar tabblad Jan gaan.

Momenteel heb ik wat zitten te experimenteren met de filter optie. Hierbij krijg ik ze al mooi gescheiden van mekaar. Nu zou ik ze nog automatisch willen kopiëren naar een ander tabblad + dat dit ook automatisch gaat in de toekomst. Tevens heb ik ook al gedacht aan draaitabellen, maar weet niet of je dat gemakkelijk kan implementeren in een reeds bestaande lijst...

Hopelijk hebben jullie een beetje kunnen volgen want weet niet of het duidelijk is zo. Misschien dat jullie hiervoor een oplossing hebben?

Alvast bedankt voor de moeite!

Link naar reactie
Delen op andere sites


Alvast bedankt voor de reply. In bijlage het voorbeeldbestandje. Ik heb die code gebruikt die jij geschreven hebt in een ander topic. Echter is mijn VBA kennis beperkt dus vandaar dat ik me afvroeg of je misschien elke stap in de code even zou willen vertalen zodat ik weet welke de functie is van elke 'lijn'. Dan kan ik die gemakkelijk zelf nog aanpassen.

Zo zou ik bv in de aangemaakte tabbladen ook een spatie willen hebben tussen de headings en de eerste waarde. Net zoals 1 kolom van de rand (eigenlijk dezelfde opmaak als in de database). Tevens krijg ik ook altijd een leeg tabbad wanneer ik gesorteerd heb. Ik vermoed dat het die lege rij is net onder de headings vooralleer de 'echte' waardes beginnen.

Als laatste krijg ik altijd een privacywaarschuwing wanneer ik wil opslaan. Misschien moet ik ergens een instelling wijzigen?

test.xlsm

Link naar reactie
Delen op andere sites


... dus vandaar dat ik me afvroeg of je misschien elke stap in de code even zou willen vertalen zodat ik weet welke de functie is van elke 'lijn'. Dan kan ik die gemakkelijk zelf nog aanpassen.

Dat zou ik kunnen, maar dan snap je er waarschijnlijk nog niet veel van. Je moet de code leren interpreteren, en alle variabelen kennen, en dat kan ik allemaal niet opschrijven voor elke actie.

Veel beter is om:

1 - zet in de code na elke stap die je niet begrijpt een MsgBox (var) (waar var de variabele of constante of andere waarde ) is die je wilt kennen. Voordeel, je ziet in de MsgBox de juiste waarde op dat moment, en de macro stopt tot jij op OK drukt. Met de VBA-editor en het werkblad samen open zie je zo onmiddelijk wat er gebeurd.

2 - en in combinatie met 1 , kies in de VBA-editor voor "probleemoplossing" en " stap" ...

De commands worden nu regel per regel uitgevoerd, en je ziet in je werkblad de veranderingen die er veroorzaakt worden door die commands. In combinatie met MsgBox geeft dit een heel goed beeld van hoe de code werkt.

Zo zou ik bv in de aangemaakte tabbladen ook een spatie willen hebben tussen de headings en de eerste waarde. Net zoals 1 kolom van de rand (eigenlijk dezelfde opmaak als in de database). Tevens krijg ik ook altijd een leeg tabbad wanneer ik gesorteerd heb. Ik vermoed dat het die lege rij is net onder de headings vooralleer de 'echte' waardes beginnen.

Dat was inderdaad het geval, en met een simpele aanpassing "waar" de code moest geplakt worden is dit opgelost.

Als laatste krijg ik altijd een privacywaarschuwing wanneer ik wil opslaan. Misschien moet ik ergens een instelling wijzigen?

Die waarschuwing moet je zelf veroorzaakt hebben toen je het bestand veranderde en opsloeg. Ik krijg de waarschuwing ook in jou bestand, maar in het originele bestand krijg ik dit niet. Ik kan het ook niet uitschakelen.

Verder werkt je werkboek (in bijlage) zoals je gevraagd hebt.

Als je nog aanpassingen wenst dan laat je maar iets horen.

Groeten,

Beerke10

Vul je systeemgegevens in bij je profiel, zo kunnen we je beter, sneller en gerichter helpen.

Technofobia_1.xlsm

Link naar reactie
Delen op andere sites

@Beerke10,

Als je in je code de rode regels invoert, behoort het geflikker van je beeld tot het verleden.

Sub FilterCities()

Application.ScreenUpdating = False

De rest van je code

MsgBox "Nieuwe tabbladen zijn gemaakt"

Application.ScreenUpdating = True

End Sub

Groeten bucky

Link naar reactie
Delen op andere sites


Hallo bucky,

ik ben me niet bewust van enig geflikker :embarassed: omdat de data nogal kort is en ik met een zeer snelle PC werk.

Het probleem zal inderdaad irritant zijn op tragere PC's en/of met meer data te verwerken.

Ik zal het aanpassen.

Hartelijk dank voor de voorzet (nu nog enkel in doel trappen xD )...

Groeten,

Beerke10

---------- Post toegevoegd om 21:31 ---------- Vorige post was om 21:20 ----------

Hallo bucky,

is er een mogelijkheid op dit forum om een bijlage te verwijderen en te vervangen door een ander bestand?

Is anders geen drama, Technophobia, en eenieder die dergelijke code wilt gebruiken, zal die kleine aanpassing wel zelf kunnen doorvoeren zonder kleerscheuren .

Maar toch... voor in de toekomst, "kan je een bijlage verwijderen.."?

Groeten,

Beerke10

aangepast door Beerke10
Link naar reactie
Delen op andere sites

Hallo Technophobia,

op voorzet van bucky (thanks :top:) heb ik de lijntjes code toegevoegd die de pagina-verversing na elke stap tegenhoud, en enkel één globale verversing toelaat op het einde van de macro. Daardoor zal de macro ook wat sneller uitgevoerd worden.

Ook heb ik het probleem van de "privacywaarschuwing" kunnen wegwerken in dit nieuw bestand.

Groeten,

Beerke10

Vul je systeemgegevens in bij je profiel, zo kunnen we je beter, sneller en gerichter helpen.

Technophobia_2.xlsm

aangepast door Beerke10
Link naar reactie
Delen op andere sites

 Delen

×
×
  • Nieuwe aanmaken...