Toon posts:

VBA - Data kopiëren op voorwaarde naar ander tabblad

Pagina: 1
Acties:

Vraag


  • Gamedj
  • Registratie: Mei 2012
  • Laatst online: 21:58
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!



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 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 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee