

Hi allemaal,
Bij voorbaat dank voor jullie hulp hiermee.
Ik ben op zoek naar een methode om gegevens uit een werkblad met een druk op een commandbutton te kopieren naar een ander werkblad. Waar die data in dat andere werkblad dient te komen moet echter afhankelijk zijn van de waarde in een andere cel.
Stel, ik heb bovenaan het tabblad een dropdown met de weeknummers 1 t/m 52.
Nu wil ik de inhoud in de cellen A1, C1, E1 en G1 van werkblad 1 met een druk op de knop kopieren naar de cellen kolommen B,C,D en E op werkblad 2. In dat werkblad 2 staan dan in kolom A de weeknummers 1 t/m 52 in de rijen, en op basis van het weeknummer welke ik op werkblad 1 heb geselecteerd dienen de gegevens bij het juiste weeknummer komen te staan.
vervolgens kan werkblad 1 gerefreshd worden en kunnen de gegevens van de nieuwe week ingevuld worden zodat gedurende het jaar de gegevens in werkblad 2 gevuld worden.
Bvd.
Groet Guus
Plaats een voorbeeld document.
"Hardware: The parts of a computer system that can be kicked. "
Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
Laat de gegevens lekker in het blad staan en gebruik een draaitabel voor verdere analyse.
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Een draaitabel lijkt me een prima idee, maar als je echt wilt kopiëren naar een nieuw tabblad zou ik advanced filter gebruiken, maar zoals edmoor al zei: het helpt als je een voorbeeldbestandje plaatst
You're never wrong to do the right thing
Mark Twain
Of
Cell L1 in Sheet2 heeft de dropdown
Sheet namen veranderen naar wat U nodig heeft.
En zo zou het ook kunnen.Code:Sub Misschien() Dim i As Long, j As Long j = 1 For i = 1 To 7 Step 2 Sheets("Sheet3").Range("A1:A52").Find(Range("L1").Value, , , 1).Offset(, j).Value = Cells(1, i).Value j = j + 1 Next i End Sub
Code:Sub Misschien_2() Sheets("Sheet2").Range("A1,C1,E1,G1").Copy Sheets("Sheet3").Range("A1:A52").Find(Range("L1").Value, , , 1).Offset(, 1) End Sub
Laatst aangepast door jolivanes : 13 januari 2018 om 02:34 Reden: meer info
Bedankt voor jullie reacties zover, ik heb een voorbeeld bestand toegevoegd.
Het probleem is dat ik de gegevens niet kan laten staan, dat zou het inderdaad verg vergemakkelijken. Ik wil de gegevens welke ik heb verzameld in werkblad 1 ("Dynamisch blad") in een soort database zetten (werkblad 2 "Database"), en daarna werkblad 1 resetten en opnieuw invullen met de gegevens van de nieuwe week...
Heb je maar 1 gegeven per week? Waar vul je het weeknummer in? Waarom zijn de kolommen C, E en G leeg? Vul eens wat gegevens in in het bestand in beide tabjes. Dus met wat je in invult en wat het resultaat moet zijn.
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Zo iets?
Kopie van Voorbeeldbestand.xlsm
You're never wrong to do the right thing
Mark Twain
Helaas werkt deze formule bij mij niet JanBG.
Ik heb zelf de volgende VBA code gevonden waarmee ik in ieder geval de gegevens binnen een werkblad kan kopieren en pasten met een druk op de knop, echter is er nog niet afhankelijk van het weeknummer waar deze gegevens gepaste worden, en is het nog binnen het huidge tabblad...
Private Sub Knopbevestigen_klikken()
Application.ScreenUpdating = False
Dim xSheet As Worksheet
For Each xSheet In ThisWorkbook.Worksheets
If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
xSheet.Range("B4:H4 ").Copy
xSheet.Range("M44").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End If
Next
Application.ScreenUpdating = True
End Sub
@ VenA
Het zijn meerdere gegevens per week (5 gegevens) de cellen ertussen heb ik leeg gelaten omdat de gegevens niet in aansluitende cellen staan (kan ik natuurlijk wel organiseren). Het is de bedoeling hiermee een database te maken waarvan ik ook een dashboard van het verloop van de gegevens over het gehele jaar kan zien.
De code is niet zo moeilijk maar het is maatwerk dus wil ik een representatief voorbeeldbestand.
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Aangepast
Laatst aangepast door Gderckx : 17 januari 2018 om 09:56
Aan priveberichten en mailen doe ik niet en daar is dit forum ook niet voor. Om je mailadres op een openbaar forum zetten lijkt mij niet handig tenzij je van spam houdt. Wat er moeilijk aan is om een representatief voorbeeld te maken ontgaat mij. Niemand zit te wachten op het volledige bestand. Maak een kopie van het bestand en vervang gegevens die vertrouwelijk zijn door dummy gegevens. Als we maar weten wat waar staat.
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Vreemd, bij mij werkt de code wel, maar je moet wel data invullen in het blad 'dynamisch'
Kopie van Voorbeeldbestand.xlsm![]()
You're never wrong to do the right thing
Mark Twain
Dank jullie, ik zie dat jou code nu wel werkt Jan, maar helaas nog niet gejheel zoals bedoelt.
Ik heb het bestand waar het om gaat toegevoegd.
Iedere week vul ik in het tabblad "registratie" het weekmenu in, en eventueel wat er extra bij is gekomen.
Onderaan iedere dag worden de gegevens van die dag verzamelt in rijnummer 233, deze wil ik met een druk op de knop kopieren naar het tabblad "Dashboardgegevens". Bij de maandag gaat het om de gegevens D233 t/m H233 en om de gegevens in cel H234 welke in geval van deze maandag in week 3 verplaatst zouden moeten worden naar respectievelijk C5 t/m H5 in de draaitabel in tabblad "Dashboardgegevens".
Bovenaan het tabblad "Registratie" is de knop "weekgegevens opslaan al toegevoegd en cel AA2 kun je het weeknummer selecteren.
Nu wil ik graag dat de gegevens van alle dagen in de week met een druk op die knop verplaatst worden naar de rij in het tabblad dashboardgegevens welke overeenkomt met het weeknummer wat geselecteerd is in cel AA2 in tabblad "Registratie". Bij de maandag gaat het om de gegevens D233 t/m H233 en om de gegevens in cel H234 welke in geval van deze maandag in week 3 verplaatst zouden moeten worden naar respectievelijk C5 t/m H5 in de draaitabel in tabblad "Dashboardgegevens".
Het bestand hoeft hierna overigens niet gewist te worden, dat kan ik handmatig met de "reset"knop doen.
Bij voorbaat dank!
Laatst aangepast door Gderckx : 17 januari 2018 om 21:02
Bv
Code:Sub VenA() Sheets("Dashboardgegevens").[C2].Offset([AA2]).Resize(, 42) = Array([D233].Value, [E233].Value, [F233].Value, [G233].Value, [H233].Value, [H234].Value, [Q233].Value, [R233].Value, [S233].Value, [T233].Value, [U233].Value, [U234].Value, [AB233].Value, [AC233].Value, [AD233].Value, [AE233].Value, [AF233].Value, [AF234].Value, [AM233].Value, [AN233].Value, [AO233].Value, [AP233].Value, [AQ233].Value, [AQ234].Value, [AX233].Value, [AY233].Value, [AZ233].Value, [BA233].Value, [BB233].Value, [BB234].Value, [BI233].Value, [BJ233].Value, [BK233].Value, [BL233].Value, [BM233].Value, [BM234].Value, [BT233].Value, [BU233].Value, [BV233].Value, [BW233].Value, [BX233].Value, [BX234].Value) End Sub
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Geweldig, werkt perfect!!! Thanks
Mooi zo. Hopelijk begrijp je nu ook het belang van een representatief voorbeeldbestand en een duidelijke vraagstelling. Dan was het waarschijnlijk binnen 1 of 2 reacties opgelost.![]()
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.