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
614
Vastaukset 4
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
- 362032
- 41630
- 40593
- 42470
Naurettavia provoja ja lavastuksia täällä
Saa olla aika harhainen jos uskoo juttuja täällä faktoina 😆😆😆 ihmiset matkii toisia jne60470- 61459
- 44438
T.h tuomio
Onko tämä lainvoimainen vai onko tästä valitettu? Mitenhän on mennyt linnassa joko pehmennyt pää täysin6427Pientä pintaremonttia
Mistä löytää kirves sähkö putkimiestä tai lasin asentajaa rässä hyrynsalmen pitäjässä, kun eiole puhelinluetteloa eikä k14423- 40401