Avatar billede MjN10 Nybegynder
06. april 2011 - 16:11 Der er 2 kommentarer

Sortering af data ved hjælp af vba i excel

Hej

Jeg skal have hjælp til at løse følgende problem.
Jeg har en række tidsstemplet logningsdata som skal sorteres fra et ark over til et andet i excel ift. tidsstemplingen.

Et ark indeholder logningsdata som skal flyttes over i et andet ark, som indeholder en tidsakse.
I kolonne er tidsstemplingen og i kolonne b er måledataen. Dette skal flyttes til det nye ark med tidsstemplingen i kolonne b og måledataen i kolonne c.
Der skal altså kigges i arket med logningsdata i kolonne a og ud fra tidsstemplingen. Dette skal flyttes over i et nyt ark og placeres tættest på det tidspunkt som matcher måledataens tidsstempling.

EKS:
Måledata
A                        B
2011-03-22 11:11:31      2,5

Nyt ark
A                        B                      C   
2011-03-22 11:11:30      2011-03-22 11:11:31    2,5
2011-03-22 11:11:35     

Springet i tidsintervallet i det nye ark er 5 sekunder.
Tidsintervallet i logningsdataen variere fra 5 sekunder til adskillige minutter.

På forhånd tak
Avatar billede excelent Ekspert
11. april 2011 - 17:39 #1
Forudsætter at dine datoer er i Excel-format

Sub Test()
On Error Resume Next
Set sh1 = Sheets("Ark1") ' Ret til aktuel
Set sh2 = Sheets("Ark2") ' Ret til Nyt Ark navn
sh2.Select
For Each c In sh1.Range("A2:A1000") ' ret til aktuel
xVærdi = c.Offset(0, 1)
xDato = c
xSekund = Second(xDato)

NySekund = Evaluate("=MAFRUND(" & xSekund & ",5)")

NyTid = TimeSerial(Hour(xDato), Minute(xDato), NySekund)
NyDato = CDate(DateSerial(Year(xDato), Month(xDato), Day(xDato)) & " " & NyTid)
sh2.Range("A2:A100").Find(NyDato, LookIn:=xlFormulas).Select
Selection.Offset(0, 1) = c
Selection.Offset(0, 2) = xVærdi

Next

End Sub
Avatar billede excelent Ekspert
11. april 2011 - 17:44 #2
ret A2:A100 til aktuel i 3' sidste linie
(Der hvor du har dine dato/tid med 5 sek's interval)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester