Avatar billede brilleabe Nybegynder
07. december 2003 - 16:12 Der er 11 kommentarer og
1 løsning

Graf efter Dato interval. Makro.

Jeg har et ark hvori jeg op til flere gange dagligt samler data fra en ekstern datakilde (en liste på internettet). Jeg har lavet en graf over data.

Jeg vil gerne lave en makro som spørger i hvilket interval data skal vises (fra/til dato).

Et andet problem er at når jeg laver en graf så viser den en post for hvert datasæt (Det lyder jo helt ok! Data er ordnet efter dato+tid), Men jeg vil gerne have max een post pr dag. Jeg vil også gerne kunne lave en graf for ugesnit.

Er der nogen der har et ark med ovenstående funktionalitet liggende? Så kan jeg selv modifisere det til mit behov.
Avatar billede brilleabe Nybegynder
08. december 2003 - 20:32 #1
Er der virkelig ikke nogen som har in ide til en løsning?
Avatar billede kabbak Professor
08. december 2003 - 22:01 #2
joo hvilke kolonner har du data i, og  data typer
Avatar billede kabbak Professor
08. december 2003 - 22:05 #3
her er en makro der finder de forskellige datoer (i A kolonnen), og lægger værdierne sammen i B kolonnen.

resultatet skrives i C og D kolonnen, som du så baserer din graf på.

Sub TælDageSammen()
Dim A As Integer, B As Integer, Data As Variant, Res As Variant
Dim DStart As Date, DSlut As Date
DStart = Format(InputBox(" indtast startdato"), "dd-mm-yyyy")
DSlut = Format(InputBox(" indtast slutdato"), "dd-mm-yyyy")
B = Range("B65536").End(xlUp).Row ' finder sidste række med data
Data = Range("A1:B" & B) ' Datotid i kolonne A og værdier kolonne B
Res = Range("C1:D" & B) ' Skriver resultatet i Kolonne C og D
For T = 1 To UBound(Data)
If Format(Data(T, 1), "dd-mm-yyyy") >= DStart And _
Format(Data(T, 1), "dd-mm-yyyy") <= DSlut Then
For i = 1 To UBound(Res)
If Res(i, 1) = Format(Data(T, 1), "dd-mm-yyyy") Then
Res(i, 2) = Res(i, 2) + Data(T, 2)
GoTo Næste
End If
If Res(i, 1) = "" Then
Res(i, 1) = Format(Data(T, 1), "dd-mm-yyyy")
Res(i, 2) = Res(i, 2) + Data(T, 2)
GoTo Næste
End If
Next
End If
Næste:
Next
Range("C1:D" & B) = Res 'Skriver i C og D kolonnen
End Sub
Avatar billede brilleabe Nybegynder
08. december 2003 - 22:07 #4
Jeg har pt data stående med datoer/tider i række 1, og data nedad. Men jeg kan jo bare transponere. (det ville egentlig også være bedst i længden - jeg regner med at få flere datasæt end der er kolonner).
Avatar billede brilleabe Nybegynder
08. december 2003 - 22:14 #5
Har lige prøvet sagerne - Der sker ikke rigtigt noget. Jeg må nok lige studere det lidt.... (for det plejer jo at virke..)
Avatar billede kabbak Professor
08. december 2003 - 22:48 #6
husk at indtaste datoen korrekt dd-mm-åååå
Avatar billede kabbak Professor
08. december 2003 - 22:51 #7
der regner kun på kolonne B i øjeblikket, så der skal jo helst stå tal der.
Datotid skal stå i A kolonnen
Avatar billede kabbak Professor
08. december 2003 - 22:51 #8
du må ikke have noget i C og D kolonnen.
Avatar billede brilleabe Nybegynder
08. december 2003 - 22:53 #9
jeg prøver lige at rette til (og jo, dato'er var skrevet rigtigt.) Jeg har tømt kolonne c og d. (jeg havde mine dato'er i kolonne a - dem rykker jeg lige...)
Avatar billede brilleabe Nybegynder
11. januar 2004 - 16:18 #10
Det virker ikke helt endnu, men jeg må arbejde lidt videre med sagerne...

Smider du lige et svar kabbak - så jeg kan få lukket sp.
Avatar billede kabbak Professor
11. januar 2004 - 17:19 #11
Prøv at sende det ark det drejer sig om til mig, så ser jeg på det.

post#kabbak@tiscali.dk

fjern post#
Avatar billede kabbak Professor
01. februar 2004 - 01:10 #12
Lukketid.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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