Moi
Seuraavan lainen ongelma nousi esille raportti dataa käsitellessäni...
Miten saisi laskettua päivämäärä erotuksen ja erojen kappalemäärän.
Pieni esimerkki joka toivottavasti selkiyttää enemmän.
Sarakkeessa G on pyydetty aloitus aika ja sarakkeessa J on toteutunut aloitus aika [ J-G = ohi menneet päivät] . Erotuksena pitäisi olla kpl ohimenneetpäivät ja ettei homma olisi liian helppo pitäisi vielä saada nuo työpäivät listattua "alueittain" ero : Mennyt ohi -1päivää ; 1-2 päivää ; 2-3 Päivää ja 4-> päivää ohi menneet...
Ja taulukossa on rivejä "vasta" reilu 32000kpl joten en viitsisi kauhean montaa copy / paste juttua tehdä joka riville... vaan hakusessa olisi VBA scripti/Makro tms hässäkkä.
Aikojen vertailu Excelissä
4
557
Vastaukset
tarkoititko todella , että ohi 1pv , 1-2 pv, 2-3 pv ja yli 4 pv?
vaiko 1,2,3 yli 4 pv?
no mai pen rai tossa sulle molemmat versiot
eli tulostukset soluihin N1:N4
moduuliin...
Sub Aikaerot()
Dim vika As Long
Dim solu As Range
Dim Aikaero As Long
On Error Resume Next
Range("N1:N4") = ""
vika = Range("G65536").End(xlUp).Row
For Each solu In Range("G1:G" & vika)
Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
Select Case Aikaero
Case 1
Range("N1") = Range("N1") 1
Case 2
Range("N2") = Range("N2") 1
Case 3
Range("N3") = Range("N3") 1
Case Is > 3
Range("N4") = Range("N4") 1
End Select
Next
End Sub
Sub Aikaerot2()
Dim vika As Long
Dim solu As Range
Dim Aikaero As Long
On Error Resume Next
Range("N1:N4") = ""
vika = Range("G65536").End(xlUp).Row
For Each solu In Range("G1:G" & vika)
Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
Select Case Aikaero
Case 1
Range("N1") = Range("N1") 1
Case 2
Range("N1") = Range("N1") 1
Range("N2") = Range("N2") 1
Case 3
Range("N2") = Range("N2") 1
Range("N3") = Range("N3") 1
Case Is > 3
Range("N4") = Range("N4") 1
End Select
Next
End Sub
Keep EXCELing
@Kunde- T:OMH
Kiitos. Nopeasta vastauksesta.
Ja ruokahaluhan kasvaa syödessä... Jos haluan lukea usealta välilehdeltä (Sheet 1, Sheet 2...Sheet n) ja palauttaa tuloksen vaikka Sheet OHI välilehdelle...
Silloin lienee ainoa vaihtoehto lukea ensin välilehtien nimet ja sijoitta ne "yksitellen tuon rivin Vika=Range arvoksi? toivottavasti ei tuu ähkyolo ;-)
Sub Aikaerot()
Dim vika As Long
Dim solu As Range
Dim Aikaero As Long
Dim taulukot
Dim i As Long
On Error Resume Next
Sheets("Ohi").Range("N1:N4") = ""
taulukot = Array("Taul1", "Taul2", "Taul3")
For i = LBound(taulukot) To UBound(taulukot)
vika = Sheets(taulukot(i)).Range("G65536").End(xlUp).Row
For Each solu In Sheets(taulukot(i)).Range("G1:G" & vika)
Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
Select Case Aikaero
Case 1
Range("N1") = Sheets("Ohi").Range("N1") 1
Case 2
Range("N2") = Sheets("Ohi").Range("N2") 1
Case 3
Range("N3") = Sheets("Ohi").Range("N3") 1
Case Is > 3
Range("N4") = Sheets("Ohi").Range("N4") 1
End Select
Next
Next
End Sub
Keep EXCELing
@Kunde- T:OMH
Kiitos Paljon,
Nyt vain odotetaan laskenta tulosta....
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 424400
Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot1424144- 643786
- 1203738
Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans393584Persut huutaa taas: "kato! muslimi!"
Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe763429- 952992
- 542855
- 252666
Korjaamo suositus
Vahva suositus Kumpulaisen korjaamolle vanhan 5-tien varrelta! Homma pelaa ja palvelu ykköslaatuista. Mukavaa kun tuli p142384