Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

VBA - Data kopiëren op voorwaarde naar ander tabblad

Pagina: 1
Acties:

Vraag


  • Gamedj
  • Registratie: mei 2012
  • Laatst online: 16-06 18:18
Goedemorgen Tweakers,

Mijn vraag
Binnen mijn organisatie zijn wij begonnen met het gebruik van Power BI. De data wordt allemaal vanuit een Excel bestand ingelezen. In Excel gebruiken we meerdere tabbladen:
  • blad 1 Het registreren van offerte aanvragen
  • blad 2 Het registreren van het aantal gegunde opdrachten
  • blad 3 Het bijhouden welke opdrachten in uitvoering zijn
Hiernaast zijn er nog meer tabbladen maar deze zijn niet relevant voor de vraag die ik heb.

Wat ik dus wil is wanneer in blad 1 een offerte aanvraag als status "Opdracht" krijgt, deze gekopieerd wordt naar blad 2. En wanneer deze verkregen opdracht in uitvoering gaat deze naar blad 3 wordt gekopieerd. Tot hier is mij dit gelukt met VBA, echter wordt er niet rekening gehouden met volgorde wanneer er gekopieerd wordt. Als bijvoorbeeld in blad 1 rijen 2, 6,7,8,9,10 en 15 als status "Opdracht" hebben wordt dit goed overgenomen.





Alleen als ik op een later moment in blad 1 rij 4 en 5 ook "Opdracht" geef dan gaat het fout. Omdat ik in blad 2 al andere gegevens heb toegevoegd wil ik dat de regels (uit blad1) die op een later moment "Opdracht" krijgen worden toegevoegd na de laatste gebruikte regel van blad 2.


Is er een manier waarop ik eerst een vergelijking kan maken van de data die al in blad 2 aanwezig is met de nieuwe, te kopiëren, data uit blad 1?

Relevante software en hardware die ik gebruik
Office 365

Wat ik al gevonden of geprobeerd heb
Ik heb geen ervaring met VBA en heb al uren naar tutorials op YouTube gekeken of ik het hier kon vinden maar helaas geen geluk gehad. Wellicht de verkeerde filmpjes bekeken of niet de juiste zoekterm gebruikt.

De code die ik nu heb:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub CommandButton1_Click()

    ' Get the worksheets
    Dim shRead As Worksheet, shWrite As Worksheet
    Dim lastRow As Integer
    Set shRead = ThisWorkbook.Worksheets("LopendeAanvraag")
    Set shWrite = ThisWorkbook.Worksheets("OrderIntake")
    
    
    ' Get the range
    Dim rg As Range
    Set rg = shRead.Range("A1")
    
    ' Remove any existing filters
    rg.AutoFilter
    
    ' Apply the Autofilter
    rg.AutoFilter Field:=7, Criteria1:="Opdracht"
     
    ' Get the read range
    Dim rgRead As Range
    Set rgRead = _
            shRead.Range("A1:F2000").SpecialCells(xlCellTypeVisible)

    Dim rgRow As Range, row As Long
    row = 1
    ' Read through each row
    For Each rgRow In rgRead.Rows
        
        ' Copy the row
        shWrite.Cells(row, 1).Resize(1, rgRead.Columns.Count).Value2 _
                   = rgRow.Value2
        
        ' move to the next output row
        row = row + 1
        
    Next rgRow
    
    ' Remove any existing filters
    rg.AutoFilter

End Sub


Alvast ontzettend bedankt voor de moeite!


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True