# meinaa kommenttiriviä, en tiiä mikä tässä on sille oikee syntaxi.
Sub etsivalukatkot()
#loopataan kaikki rivit
N = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To N
# jos päähälytys
If Worksheets("Sheet1").Cells(i, 1).Value = "V22B03" Or Worksheets("Sheet1").Cells(i, 1).Value = "V22B04" Then
# otetaan ylös päähälytyksen aika
päähälytyksenaika = Worksheets("Sheet1").Cells(i, "oikee sarake tähän, missä se aikaleima onkaan").Value
#jos se aika on siellä solussa stringinä niin pitää käyttää CDate funktiota että se string muuttuu Date muuttujaks. esim: päähälytyksenaika = Cdate(päähälytyksenaika)
# j on toisen loopin looppimuuttuja
j=i+1
#whilen sisällä oleva koodi suoritetaan jos
#1. ollaan max vikalla rivillä JA
#2. aikaero on alle 1min (käytetään vertailuun DateDiff("s", aika1, aika2) funktiota joka palauttaa kahden ajan eron sekunteina) JA
#3. rivin hälytys ei oo päähälytys
Do While DateDiff("s", päähälytyksenaika, Worksheets("Sheet1").Cells(i, "oikee sarake tähän, missä se aikaleima onkaan").Value) <= 60
# jos mennään vikasta rivistä yli tai rivillä on päähälytys niin stopataan looppi ja siirretään j = j-1
If j > N OR Worksheets("Sheet1").Cells(j, 1).Value = "V22B03" Or Worksheets("Sheet1").Cells(j, 1).Value = "V22B04" Then
j = j - 1
Exit Do
End If
j = j + 1
Loop
# kun toka looppi on loppunu niin tiedetään että kopioidaan rivit i:stä j:hin.
Worksheet("Sheet1").Rows(i & ":" j).Copy
# tässä ilmeisesti aktivoidaan sheet2 ja valitaan eka tyhjä rivi johon pastetaan sheet1 kopioidut rivit
Worksheets("Sheet2").Activate
b = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Sheet2").Cells(b + 1, 1).Select
ActiveSheet.Paste
# hypätään suoraan i=j koska tiedetään että tossa välissä ei voi olla päähälytyksiä
i=j
End If
Next