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

Knop om gegevens te kopiëren naar ander tabblad

Status
Niet open voor verdere reacties.

Gderckx

Gebruiker
Lid geworden
12 jan 2018
Berichten
23
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.
 
Laat de gegevens lekker in het blad staan en gebruik een draaitabel voor verdere analyse.
 
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
 
Of
Cell L1 in Sheet2 heeft de dropdown
Sheet namen veranderen naar wat U nodig heeft.
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

En zo zou het ook kunnen.
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 bewerkt:
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.
 
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("M4:p4").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End If
Next
Application.ScreenUpdating = True
End Sub
 

Bijlagen

  • Voorbeeldbestand.xlsm
    19,7 KB · Weergaven: 133
@ 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.
 
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.
 
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!
 

Bijlagen

  • menu V1.xlsm
    642,7 KB · Weergaven: 233
Laatst bewerkt:
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
 
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.;)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan