Avatar billede hugopedersen Nybegynder
04. januar 2016 - 17:20 Der er 11 kommentarer og
1 løsning

Hvordan undgår jeg 'tomme' datoer

Jeg ved ikke om jeg kan forklare mit problem, men jeg prøver:

Jeg har 2 kolonner, 1 med en dato fra 1-1-2015 til 31-12-2016 og en med et tal. Kolonnen med tal er nogen gange tom og derfor har jeg et filter på som udelader disse rækker. Resultatet bruger jeg så til at lave en graf med og det spiller egentligt fint nok.
Men når jeg laver grafen, skal jeg jo angive et område son den skal gælde for (i dette tilfælde 731 rækker) men da jeg jo på indeværende tidspunkt ikke har data for datoer > 4-1-2016 får jeg et tomt område til højre på min graf hvor der bare er datoer på X aksen men ingen data.
Kan det laves på nogen måde så Excel selv finder ud af at sortere de unødvendige datoer fra så min graf fylder det hele og jeg ikke skal huske på at ændre i dataområdet hele tiden for at få nye data med.
Avatar billede jens48 Ekspert
04. januar 2016 - 21:44 #1
Lad Grafen referere til to navngivne områder F. eks. Dato og Data.

Ved navngivning definerer du Dato således (antager at datoerne står i kolonne A):

=OFFSET(Sheet1!$A$1;0;0;COUNTIF(Sheet1!$A:$A;"<="&TODAY()))

Og Data (i kolonne B):

=OFFSET(Sheet1!$B$1;0;0;COUNTIF(Sheet1!$A:$A;"=<"&TODAY()))

Så vil kun datoer før eller lig med dags dato komme med
Avatar billede hugopedersen Nybegynder
05. januar 2016 - 10:17 #2
Det får jeg ikke noget ud af
Mine datoer begynder i A4 og mine data begynder i B4
Mit sheet hedder Grafdata og jeg prøver så at skrive
=OFFSET(Grafdata!$A$1;0;0;COUNTIF(Grafdata!$A:$A;"<="&TODAY())) det giver en fejl #Value

=OFFSET(Grafdata!$B$1;0;0;COUNTIF(Grafdata!$A:$A;"=<"&TODAY())) giver en #REF
Avatar billede jens48 Ekspert
05. januar 2016 - 11:00 #3
Du har byttet om på = og <
Her er formlerne igen tilpasset dine navne:

=OFFSET(Grafdata!$A$4;0;0;COUNTIF(Grafdata!$A:$A;"<="&TODAY()))

=OFFSET(Grafdata!$B$4;0;0;COUNTIF(Grafdata!$A:$A;"<="&TODAY()))
Avatar billede hugopedersen Nybegynder
05. januar 2016 - 20:50 #4
Jeg får stadig en #Value! og en #REF! fejl på de 2 formler
Jeg må gøre noget forkert som jeg ikke lige kan gennemskue
Avatar billede jens48 Ekspert
05. januar 2016 - 23:02 #5
Gå ind i Name manager (i din engelske version er det lettest med shortcut Alt I, N, D). Definer et nyt område som Dato, gå ned i Refers to: Der indsætter du den første formel. Definer et andet område som Data, og under Refers to: indsætter du den anden formel.
På selve grafen skal referencen til hhv. X og Y aksen se således ud:
=grafdata!Dato
=grafdata!Data
Avatar billede hugopedersen Nybegynder
18. januar 2016 - 10:01 #6
Jeg må gøre noget dumt for jeg kan bare ikke få den til at skrive andet end #Value og #REF! ligegyldig om jeg følger din opskrift til punkt og prikke
Avatar billede jens48 Ekspert
18. januar 2016 - 10:15 #7
Jeg kan godt kigge på arket, hvis du sender det til kober_soerensen(snabel-a)hotmail.com
Avatar billede hugopedersen Nybegynder
25. januar 2016 - 13:24 #8
Havde ikke lige set dit indlæg
Arket indeholder en del personlige oplysninger da det er et til registrering af diverse medicinske data i forbindelse med min behandling for cancer. Men hvis du er diskret og lover at slette det efterfølgende, så vil jeg da gerne om du vil kigge på det.
Avatar billede jens48 Ekspert
25. januar 2016 - 13:38 #9
Det er nok bedst du selv sletter det inden du sender det, så du ikke kommer i karambolage med dataregisterloven
Avatar billede hugopedersen Nybegynder
03. februar 2016 - 09:55 #10
Der er ikke den slags oplysninger i skemaet :-)
Jeg har sendt det til din HotMail adresse
Avatar billede hugopedersen Nybegynder
04. februar 2016 - 19:22 #11
Jeg har med hjælp fra min fætter fået det til at virke med en makro. Og det er jo lige så godt når jeg nu har en udskriftsknap i forvejen
Avatar billede hugopedersen Nybegynder
16. februar 2016 - 13:38 #12
Da jeg ikke har hørt noget videre i sagen poster jeg min løsning her og lukker

  Dim SourceData As String
 
  Sheets("Grafdata").Select
  ActiveSheet.Unprotect
  Sheets("Grafdata").Select
  Range("B4").Select
  Selection.AutoFilter
  ActiveSheet.Range("$A$3:$D$1200").AutoFilter Field:=2, Criteria1:="<>"
 
  SourceData = "Grafdata!"
  SourceData = SourceData & Range("Grafdata!A4:A" & Cells(4, 1).Offset(Range("Grafdata!A1048576").End(xlUp).Row - 4, 0).Row).SpecialCells(xlCellTypeVisible).Cells(1).Address
  SourceData = SourceData & ":" & Range("Grafdata!C4:C" & Cells(4, 1).Offset(Range("Grafdata!C1048576").End(xlUp).Row - 4, 0).Row).SpecialCells(xlCellTypeVisible).End(xlDown).Address

Debug.Print SourceData
 
  Sheets("Grafer").Select
  ActiveSheet.ChartObjects("Blood").Activate
 
  With ActiveChart
    .ChartArea.Select
    .Axes(xlCategory).Select

    .SetSourceData Source:=Range(SourceData)
    .HasTitle = True
    .HasLegend = True
    .SeriesCollection(1).Name = "SYS"
    .SeriesCollection(2).Name = "DIA"
  End With
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

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