Avatar billede markd Nybegynder
02. oktober 2009 - 15:49 Der er 9 kommentarer

programmering i excel

Hej,
jeg arbejder med et stort excel ark, i 2007 versionen, med måledata for hver time i to år, i alt ca 17000 værdier. jeg har brug for at lægge værdierne for hver dag/24-timers periode sammen så jeg får de samlede værdier pr dag. nogle hints?
Avatar billede gonnemand Nybegynder
02. oktober 2009 - 16:02 #1
Har du tidsstemple på hver værdi?

Hvis ikke, så kan du bare lave en foreach der gennemløber dem alle, samt en counter der går til 24, så summeringen kan starte forfra for hver 24'ne celle.
Avatar billede gonnemand Nybegynder
02. oktober 2009 - 16:04 #2
Hov, sorry.... skal selvfølgelig være en for- eller while-løkke ;-)
Avatar billede markd Nybegynder
03. oktober 2009 - 12:36 #3
jeg har ikke tidspunkterne for hver skridt, kun fortløbende nummereret. så en for-løkke lyder som en løsning. hvordan laver jeg den?
Avatar billede gonnemand Nybegynder
03. oktober 2009 - 15:07 #4
Måske ikke den kønneste løsning, men den virker.

Public Sub sum24()

Dim rowCount As Integer

  For rowCount = 1 To Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row - 1
    Sheet1.Cells(rowCount + 23, 2) = Application.WorksheetFunction.Sum(Sheet1.Range(Cells(rowCount, 1), Cells(rowCount + 23, 1)))
    rowCount = rowCount + 23
  Next

End Sub
Avatar billede markd Nybegynder
04. oktober 2009 - 12:53 #5
hvor skal jeg skive koden ind:

Public Sub sum24()

Dim rowCount As Integer

  For rowCount = 1 To Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row - 1
    Sheet1.Cells(rowCount + 23, 2) = Application.WorksheetFunction.Sum(Sheet1.Range(Cells(rowCount, 1), Cells(rowCount + 23, 1)))
    rowCount = rowCount + 23
  Next

End Sub
Avatar billede gonnemand Nybegynder
04. oktober 2009 - 13:42 #6
Hmm, lyder til at aldrig har prøvet at programmere i Excel VB.

Men mens du er i dit excel ark, trykker du ALT+F11
Du kommer nu ind i Visual Basic. I venstre side dobbelt klikker du på det ark hvori dine data er. Copy/paster koden ind og trykker F5 for at kører koden.

VÆR OPMÆRKSOM PÅ at det kode jeg har skrevet, tager udgangspunkt i at data ligger i kolonne A startende i række 1. Den tager så 24 celle ned og summer, og skriver resultatet i hhv. celle B24, B48, B72 osv.

Hvis dette ikke passe på lige dit ark, må du lige forklare hvordan dit ark så ser ud.
Og passer dine data overhovedet med at de første 24 værdier, ER det første døgn, eller starter data midt i et døgn?
Avatar billede gonnemand Nybegynder
04. oktober 2009 - 13:45 #7
Du kan evt. lave et nyt ark, og kopiere dine måle data over, så det passer til koden. Og selvfølgelig kopiere koden ind i dette ark i Visual Basic (ALT+F11)
Avatar billede markd Nybegynder
07. oktober 2009 - 10:37 #8
Tak for hjælpen det lykkedes.
Avatar billede gonnemand Nybegynder
08. oktober 2009 - 07:35 #9
Så lidt.. hermed svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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