Regels updaten die zijn gewijzigd in wekelijkse Excelfile

Status
Niet open voor verdere reacties.

Dancemonkey

Nieuwe gebruiker
Lid geworden
22 mrt 2019
Berichten
2
Goeiedag iedereen,

voor mijn werk ben ik al een tijdje bezig aan een excelfile die mijn leven makkelijker maakt.

Voor elk werk dat uitgevoerd dient te worden moet een order worden geschreven: een "EC"
Wekelijks wordt een excel gegenereerd uit een webpagina met het overzicht van alle EC's met bijhorende informatie
Hier zitten heel wat kolommen en rijen in die ik niet nodig heb, dus heb ik een Excelfile gemaakt met een macro om te zoeken naar de eerstvolgende EC die ik nog niet in mijn lijst heb.
Alle EC's haal ik dan binnen en begin ik dan te filteren met mijn macro.
Deze macro werkt perfect dankzij enkele zoekopdrachten binnen dit forum, waarvoor dank!

Nu volgt mijn probleem.
Omdat een EC door verschillende statussen loopt van week tot week zou ik een tweede macro willen schrijven.
Deze zou dan de status die ik heb vergelijken met de status in de wekelijkse excel en indien deze verschilt moet die regel worden geupdate.

Ik ben zelf al een beetje aan het klooien geweest met VLOOKUP, MATCH, dictionairy... Maar ik geraak er niet aan uit.

In bijlage kan je twee excelfiles vinden: overzichtEC en test
overzichtEC is de file die ik zelf bijhoud, daar heb ik drie modules: de eerste is die met mijn macro om nieuwe EC's binnen te halen die werkt.
De volgende twee zijn mijn probeersels om de lijst te updaten. Met heel wat stukken code in commentaar die ik niet aan de praat krijg.

Mocht iemand kunnen helpen zou dit mijn leven een stuk aangenamer maken :)
Mag ik dan ook vragen om commentaar bij de code te zetten zodat ik er ook iets kan van leren ;)

Alvast bedankt voor jullie tijd!
 

Bijlagen

  • OverzichtEC.xlsm
    502 KB · Weergaven: 22
  • test.xls
    57 KB · Weergaven: 15
Bedankt aan de enkelingen die de files hebben bekeken!
Ik heb ondertussen zelf een oplossing gevonden voor mijn probleem.
Ik heb deze code gemaakt hiervoor
Code:
Sub Update()

Dim wb1 As Workbook, wb2 As Workbook
Dim shTarget As Worksheet, shInput As Worksheet, shProcess As Worksheet
Set wb1 = ActiveWorkbook
Set wb2 = Workbooks.Open("C:\Users\SDEGROO5\Desktop\ToDo\tset.xls")
Set shTarget = wb1.Sheets("EC-lijst")
Set shProcess = wb1.Sheets("Inputdata")
Set shInput = wb2.Sheets("tset")


    With shTarget
        For i = 2 To .Range("B2").CurrentRegion.Rows.Count + 1
            statustarget = shTarget.Cells(i, 5).Value
            Set fnd = shInput.Range("B1:B15000").Find(What:=.Cells(i, 2), After:=Range("B1"), LookIn:=xlValues, _
                      LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
            If Not fnd Is Nothing Then
                If shInput.Cells(fnd.Row, 5).Value <> statustarget Then
                    shTarget.Cells(i, 3).Value = shInput.Cells(fnd.Row, 3).Value
                    shTarget.Cells(i, 4).Value = shInput.Cells(fnd.Row, 4).Value
                    shTarget.Cells(i, 5).Value = shInput.Cells(fnd.Row, 5).Value
                    shTarget.Cells(i, 6).Value = shInput.Cells(fnd.Row, 7).Value
                    shTarget.Cells(i, 7).Value = shInput.Cells(fnd.Row, 8).Value
                    shTarget.Cells(i, 8).Value = shInput.Cells(fnd.Row, 9).Value
                    shTarget.Cells(i, 9).Value = shInput.Cells(fnd.Row, 11).Value
                    shTarget.Cells(i, 10).Value = shInput.Cells(fnd.Row, 17).Value
                    shTarget.Cells(i, 11).Value = shInput.Cells(fnd.Row, 18).Value
                    shTarget.Cells(i, 12).Value = shInput.Cells(fnd.Row, 20).Value
                    shTarget.Cells(i, 13).Value = shInput.Cells(fnd.Row, 23).Value
                    shTarget.Cells(i, 14).Value = shInput.Cells(fnd.Row, 26).Value
                    shTarget.Cells(i, 15).Value = shInput.Cells(fnd.Row, 34).Value
                    shTarget.Cells(i, 16).Value = shInput.Cells(fnd.Row, 35).Value
                    shTarget.Cells(i, 17).Value = shInput.Cells(fnd.Row, 36).Value
                End If
            End If
        Next i
    End With
End Sub

Hopelijk heeft er iemand iets aan ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan