Untitled
unknown
vbscript
3 years ago
2.2 kB
4
Indexable
# 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
Editor is loading...