Juiste gegevens uit een tabblad trekken met macro

Status
Niet open voor verdere reacties.

Arnout1987

Gebruiker
Lid geworden
8 jun 2016
Berichten
6
Goedenavond,

Voor de maandelijkse kwaliteitsmeting op mijn werk heb ik via UserForms een groep vragen ingevoerd die mensen kunnen beantwoorden om het werk van collega's te controleren.
Deze gegevens worden vervolgens weggeschreven naar een ander tabblad. Als een bepaalde actie niet goed is uitgevoerd, wordt het woord "FOUT" weggeschreven, en komt in het veld daarachter de reden van afkeuren te staan.

Omdat dit (zeker nadat er honderden metingen zijn gedaan), dit erg onoverzichtelijk is voor het analyseren, zou ik graag met een macro'tje alleen de foute acties uit het bestand halen. Zie voor een versimpeling het bijgevoegde bestand.
Op het moment dat er ergens op het tabblad FOUT staat, wil ik dus een aantal corresponderende gegevens ophalen, en die allemaal onder elkaar kunnen wegschrijven op een andere plek. De tabel zoals bijgevoegd, moet dus de Output die daaronder staat krijgen na het runnen van de Macro.

Hoe kan ik dit het beste doen? Ik weet wel hoe ik vanuit Excel deze gegevens kan ophalen, maar dan komt het ten eerste niet netjes onder elkaar te staan, en loop ik ook tegen problemen aan als er voor 1 administratienummer meerdere fouten zijn gemaakt.

Het moet dus iets zijn in de vorm van:

If Cells.Range(A2:I11).Value = "FOUT" Then --> Selecteer bepaalde cellen en kopieer die naar een bepaalde locatie op de eerstvolgende lege plek vanaf cel A18.

Kan iemand mij (een stukje) op weg helpen?
 

Bijlagen

  • Voorbeeld.xlsx
    14,4 KB · Weergaven: 34
Dat is geen probleem, maar is het niet handiger om de cellen met het woord FOUT en de achterliggende cel een afwijkende kleur te geven?
Dat kan simpel met Voorwaardelijke opmaak.
 
Het tabblad waar de gegevens uit worden getrokken is meer dan 100 kolommen breed en wordt gedurende de tijd ook steeds groter qua rijen. Dus een kleur geven zorgt niet voor meer overzicht, en vergemakkelijkt het analyseren ook niet (Welk type fout wordt er vaak gemaakt, wie maak vaak bepaalde soort fouten, etc.)
 
Laatst bewerkt:
Hoi Edmoor,

Ja, ik ben hier al erg mee geholpen, bedankt! Eén dingetje klopte niet met hoe ik het bedoeld, maar dat heb ik aan kunnen passen en het werkte goed zoals het in jouw sheet stond.

Ik heb nu wel een vervolgvraag. Omdat het bestand veel data bevat, wordt de output niet weggeschreven op hetzelfde tabblad als waar de brondata staat.
Hoe kan ik er nu voor zorgen dat ik de data uit "Blad2" trek, en op "Blad1" laat zien? Ik heb wel iets geprobeerd (zie onder), maar ik moet het stuk For x = 3 To 12 nog vanuit Blad2 laten opzoeken denk ik.

Hoe kan ik dat het handigste doen?


Code:
Sub CommandButton1_Click()

    Dim OutputRegel As Long
    Dim x As Long
    Dim LC As Integer
    Dim y As Integer
    
    OutputRegel = 19
    For x = 3 To 12
        For y = 4 To 100
            If Cells(x, y) = "FOUT" Then
                Worksheets("Blad2").Cells(OutputRegel, 2) = Worksheets("Blad2").Cells(x, 2)
                Worksheets("Blad2").Cells(OutputRegel, 3) = Worksheets("Blad2").Cells(x, 3)
                Worksheets("Blad2").Cells(OutputRegel, 4) = Worksheets("Blad2").Cells(x, 4)
                Worksheets("Blad2").Cells(OutputRegel, 5) = Worksheets("Blad2").Cells(2, y)
                Worksheets("Blad2").Cells(OutputRegel, 6) = Worksheets("Blad2").Cells(x, y + 1)
                OutputRegel = OutputRegel + 1
            End If
        Next y
    Next x
    
End Sub
 

Bijlagen

  • Kopie van Voorbeeld.xlsm
    27,3 KB · Weergaven: 36
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan