Just nu i M3-nätverket
Gå till innehåll

Justerbara max/min-värden i diagram


lingolas

Rekommendera Poster

Jag önskar sätta ett max och min-värde för en axel i ett diagram baserat på värdena i cell W1 och W2. Då man inte manuellt kan sätta max och min-värden med en cell som källa så antog jag att man fick nyttja lite VBA. Letade upp en bit kod som jag använt nedan. Problemet är att den inte aktiveras så fort cell W1 eller W2 ändras, utan man måste stå i någon av cellerna och trycka enter för att förändringen ska aktiveras. Jag skulle vilja att Excel känner av så fort någon av cellerna justeras och direkt ändrar max och/eller min-värdena för diagramet. Finns det något annat sätt än "Worksheet_Change"?

 

mvh

F

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
   Case "$W$1"
       ActiveSheet.ChartObjects("Diagram 3").Chart.Axes(xlValue) _
           .MaximumScale = Target.Value
   Case "$W$2"
       ActiveSheet.ChartObjects("Diagram 3").Chart.Axes(xlValue) _
           .MinimumScale = Target.Value
   Case Else
End Select
End Sub

Länk till kommentar
Dela på andra webbplatser

Lägg till två textrutor (VBA/ActiveX) och koppla händelser till dessa.

 

Du kan sedan antingen ta värdet från textrutan eller länka textrutan till en cell och ta värdet därifrån. Det senare är oftast nästan enklare.

 

I stil med:

Private Sub TextBox1_Change()
Dim v As Double
v = Me.TextBox1.Text
Me.ChartObjects("Diagram 3").Chart.Axes(xlValue) _
       	.MaximumScale = Target.Value

End Sub

Borde fungera men samtidigt bör du gardera dig mot felvärden då användaren kan mata in annat än tal.

 

Undvik att använda ActiveSheet och liknande, kan ge fel som är svåra att hitta. Adressera alltid unikt. Nu när koden är skriver på samma blad som grafen finns på man använda Me som adress annars kan man med fördel använda VBA-namnet på bladet.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...