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

Uit meetdata een paar rijen selecteren en kopieren

Status
Niet open voor verdere reacties.

RayTri

Nieuwe gebruiker
Lid geworden
1 dec 2017
Berichten
4
Graag zou ik uit en lange lijst meetdata (twee kolommen, steeds onderbroken door "START" voor begin van een nieuwe meting) een stukje selecteren en kopieren naar een ander tabblad.

Elke meting begin met "START" in kolom A. (ongeveer 25 metingen, dus 25 keer "START".
Na ongeveer 600 rijen is de meting stabiel en ik ben geinteresseerd in het laatste stukje data voordat de volgende meting start.
Eigenlijk wil ik dus iets kunnen doen als:
selecteer de laatste 10 rijen vóór de volgende "START" en kopieer die naar tabblad 2.
En dan hetzelfde voor de volgende data vóór "START" en kopieer die ook naar tabblad 2. (onder de vorige selectie, met een blanke regel of bv dat "START" er weer tussen staat om aan te geven wat bij welke datarange hoort)
En zo door tot van alle metingen een selectie is gemaakt en gekopieerd.

Kan iemand me hier mee helpen? :rolleyes:
Ik had wel al voor elkaar om met een macro elk stukje tot "START" op een ander tabblad te zetten, maar dit lukt me niet.

Bijgesloten sheet is een voorbeeld van hoe ik de data krijg.
Bekijk bijlage Meting1.xlsx

Bedank!
 
zo:?
Code:
Sub test()
Application.ScreenUpdating = False
    For Each cl In Blad1.Range("A1:A15000")
        If cl.Value = "START" Then
            X = Blad2.Range("A" & Rows.Count).End(xlUp).Row + 1
            cl.Offset(590, 0).Resize(10, 2).Copy Blad2.Cells(X, 1)
            Blad2.Cells(X + 10, 1).Value = "START"
        End If
    Next cl
Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Wow, dat was snel! Bedankt!

Cobbe, dat is een slimme eenvoudige manier! Hoeft niet eens een macro voor geschreven te worden.
Ik zie alleen nu dat er in het staartje van de data tot de volgende meeting ook onzin zit.
In de eerste meting zie je bv bij de overgang van rij 543 naar 544 dat er ineens een grote afwijking zit.
De data duikt naar bijna 0. Dat stuk tot de volgende "START" moet er dus eerst uit voordat jouw filter toegepast kan worden.
Is dat een eerste filtering die ik eerst moet doen? Of zou ik dat in één keer kunnen doen?

SjonR: Met jouw marco krijg ik een foutmelding. Ik heb gekeken of ik snapte wat je probeerde te doen en geprobeerd aanpassing te doen om de foutmelding op te lossen, maar dat is niet gelukt.
 
De macro van SjonR doet eigenlijk ook hetgeen gevraagd is enkel dien je de tabnamen aan te passen in de code:

Blad1 -> Sheets(1)
Blad2 --> Sheets(2)

Probeer maar eens.
 
Je hebt gelijk! Ik had een typefout gemaakt.
Dit was exact wat ik wilde tot ik er achter kwam dat dat laatste stukje onzin-data er eerst uit moet.
Ik ga proberen hierop voort te borduren.
 
Cobbe en SjonR,

Ik ben nog even verder aan het stoeien geweest. Bekijk bijlage Meting1_Knippen door filter bij overgang.xlsx

Nu heb ik op de wijze van filteren zoals Cobbe liet zien voor elkaar dat ik uit één meting het moment kan pakken vlak voor het moment waarop de meetdata ineens richting nul gaat.
Door in het filter dan alle lege cellen wel te laten krijg ik de gegevens die ik wil zien.
Kan ik dit ook omzetten naar een marco, zodat ik dit met elke nieuwe data file kan doen? Zoals SjonR eerder liet zien.
En dan zou ik het liefst het resultaat (wat nu in kolom E en F staat) automatisch naar Sheets(2) kopieren zonder steeds "START" er tussen.
(of dat ik "start" uit kan zetten zodat ik een mooie reeks data krijg)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan