Avatar billede jacoba Nybegynder
07. april 2010 - 16:23 Der er 6 kommentarer og
1 løsning

fortsættelse: http://www.eksperten.dk/spm/906426

Hjælp til automatisk ændring af diagram, når nye datafelter bliver opdateret.
Jeg har brug for at få opdateret op til flere diagrammer i ét ark, når der tilføjes yderligere oplysninger i arket - til de respektive diagrammer.

jeg har dato som x-akse og pris som y-akse

fx har jeg
A4 "Dato";B4 '01-01-2010';C4 '01-02-2010'; mv...
A5 "Pris";B5 '800'; C5 '850'; mv...

Hvordan får jeg diagrammet til at automatisk opdatere med viden om denne data?
07. april 2010 - 16:43 #1
Da skal bruge navngivning af dynamiske områder for at løse det.

Microsoft har skrevet denne artikel om emnet:
http://office.microsoft.com/da-dk/excel/HA011098011030.aspx
Avatar billede supertekst Ekspert
07. april 2010 - 18:14 #2
Kunne man forestille sig, at varenummer indgik i diagramtitel?
Avatar billede jacoba Nybegynder
07. april 2010 - 18:16 #3
Ja, det kan man snildt
Avatar billede supertekst Ekspert
07. april 2010 - 18:23 #4
Så vil der være mulighed for at udpege det relevante diagram - tak.
Avatar billede supertekst Ekspert
07. april 2010 - 23:33 #5
Rem Version 2
Rem =========
Dim pris As Single, varenr As String, dato As Date
Dim statRække As Long, kol As Byte
Private Sub Worksheet_Change(ByVal Target As Range)
Rem der ændres i arket
    If Target.Column = 9 And Target.Value <> "" Then  'kolonne "I" (PRIS)
        pris = Target.Value
        varenr = Range("D" & Target.Row).Text
        dato = Format(Now, "dd-mm-yy")
        statRække = findRækkeNr(varenr, "STAT", "C:C")
        If statRække > 0 Then
              opdaterNyPris pris, dato, statRække + 2  '+2 da prislinje er 2 rækker under ID-linje
              justerDiagram statRække + 2, kol, varenr
        Else
            MsgBox ("varenr " & varenr & " kunne ikke findes i STAT")
        End If
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 12 Then                      'kolonne L (STAT)
        varenr = Range("D" & Target.Row).Text
       
        statRække = findRækkeNr(varenr, "STAT", "C:C")
        If statRække > 0 Then
            aktiverArk "STAT", statRække            'LINK TIL STAT
        Else
            MsgBox ("varenr " & varenr & " kunne ikke findes i STAT")
        End If
    End If
End Sub
Private Function findRækkeNr(varenr, arkNavn, område)
    With ActiveWorkbook.Sheets(arkNavn).Range(område)
        Set c = .Find(varenr, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            findRækkeNr = c.Row
        Else
            findRækkeNr = 0
        End If
    End With
End Function
Private Sub aktiverArk(arkNavn, rækkeNr)
    ActiveWorkbook.Sheets(arkNavn).Activate
    ActiveSheet.Range("C" & CStr(rækkeNr)).Activate
End Sub
Private Sub opdaterNyPris(pris, dato, rækkeNr)
    With ActiveWorkbook.Sheets("STAT")
        For kol = 1 To 240
            If .Cells(rækkeNr, kol) = "" Then
                .Cells(rækkeNr, kol) = dato
                .Cells(rækkeNr + 1, kol) = pris
                .Columns.AutoFit
                Exit For
            End If
        Next kol
    End With
End Sub
Private Sub justerDiagram(statRække, kolonne, varenr)
Dim kildeOmråde As String, sx, dia As ChartObject
Rem find hvilket diagram, det drejer sig om
    With ActiveWorkbook.Sheets("STAT")
        For ix = 1 To .ChartObjects.Count
            .ChartObjects(ix).Activate
            If ActiveChart.ChartTitle.Text = Trim(varenr) Then
                kildeOmråde = "STAT!$A$" & CStr(statRække) & ":$" & Chr(kolonne + 64) & "$" & CStr(statRække + 1)
                ActiveChart.SetSourceData Source:=Sheets("STAT").Range(kildeOmråde)
            End If
        Next ix
    End With
End Sub
Avatar billede supertekst Ekspert
09. april 2010 - 10:39 #6
Er dette indlæg besvaret korrekt?
Avatar billede supertekst Ekspert
25. april 2010 - 20:52 #7
??
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
Computerworld tilbyder specialiserede kurser i database-management

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