ID tematu: 27420
 |
Groty strzałek na wykresie |
| Autor |
Wiadomość |
TKAnn
Starszy Forumowicz

Posty: 52
|
Wysłany: 2012-01-19, 23:55 Groty strzałek na wykresie
|
|
|
Witam,
Gdzie w Excelu 2003 wstawia się groty strzałek na wykresie, szukam i szukam i nie mogę znaleźć, a wstawianie autokształtów jest męczące, bo nie zawsze dają się wstrzelić w linię. |
|
 | ID posta:
145305
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
negatyv
Excel Expert


Zaproszone osoby: 4
Pomógł: 195 razy Posty: 910
|
Wysłany: 2012-01-20, 10:15
|
|
|
Nie da się inaczej niż autokształtem:
Dowód A: Jeżeli w Excel 2007 stworzę strzałkę przez okienko formatowania wykresu i otworzę plik w 2003 to strzałka znika.
Dowód B: W 2007 poniższy kod dodaje strzałkę do osi iksów, w 2003 ten kod nie działa. W obiekcie Axis w 2003 nie ma niczego co by pozwalało ustawić strzałkę.
| Kod: | | ActiveChart.Axes(xlCategory).Format.Line.EndArrowheadStyle = msoArrowheadTriangle |
I rest my case :) |
_________________ http://www.123office.pl - blog poświęcony programom pakietu MS Office. |
|
 | ID posta:
145339
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
tkuchta1
Excel Expert


Pomógł: 1495 razy Posty: 2270
|
Wysłany: 2012-01-20, 11:16
|
|
|
nie wiem na ile zabawa jest warta świeczki ale można by posłuzyć się procedurą:
np:
- określić pozycję pMax i pMin w xlSeries.Values
- wstawić strzałki "przy" tych punktach
| Kod: | Option Explicit
Sub Test()
Dim xlWks As Excel.Worksheet
Dim xlChr As Excel.Chart, xlPoint As Excel.Point
Dim objShp As Excel.Shape
Dim xlSeries As Excel.Series
Set xlWks = ThisWorkbook.Worksheets("Arkusz1")
Set xlChr = xlWks.ChartObjects(1).Chart
On Error Resume Next
xlChr.Shapes("shpMin").Delete
xlChr.Shapes("ShpMax").Delete
On Error GoTo 0
Set xlSeries = xlChr.SeriesCollection(1)
Dim pMax As Long, pMin As Long
With Application
pMax = .Match(.Max(xlSeries.Values), xlSeries.Values, 0)
pMin = .Match(.Min(xlSeries.Values), xlSeries.Values, 0)
End With
Set xlPoint = xlSeries.Points(pMin)
With xlPoint
.HasDataLabel = True
.DataLabel.Position = xlLabelPositionRight
Set objShp = xlChr.Shapes.AddShape(msoShapeUpArrow, _
.DataLabel.Left - 12, _
.DataLabel.Top + 10, _
13.5, 16.5)
With objShp
.Name = "shpMin"
.Fill.ForeColor.SchemeColor = 48
End With
.HasDataLabel = False
End With
Set xlPoint = xlSeries.Points(pMax)
With xlPoint
.HasDataLabel = True
.DataLabel.Position = xlLabelPositionRight
Set objShp = xlChr.Shapes.AddShape(msoShapeDownArrow, _
.DataLabel.Left - 12, _
.DataLabel.Top - 10, _
13.5, 16.5)
With objShp
.Name = "shpMax"
.Fill.ForeColor.SchemeColor = 10
End With
.HasDataLabel = False
End With
Set xlChr = Nothing
Set xlWks = Nothing
Set objShp = Nothing
Set xlSeries = Nothing
End Sub |
(chyba) inne podejście:
http://peltiertech.com/Ex...ntAtPoints.html
bez tytułu.PNG
|
 |
| Plik ściągnięto 10 raz(y) 20.24 KB |
Zeszyt1.zip
|
Pobierz Plik ściągnięto 10 raz(y) 13.18 KB |
|
_________________
Tomek Moje Artykuły:
Algorytmy Sortujace, Wyrażenia Regularne,
Menadżer Funkcji NextNR, Unikaty
Moja Stronka
APoCoTenExcel
Ostatnia aktualizacja: 2012-03-17 |
|
 | ID posta:
145362
|
|
|
 |
TKAnn
Starszy Forumowicz

Posty: 52
|
Wysłany: 2012-01-20, 13:11
|
|
|
rzeczywiście gra nie warta świeczki, wykresów jest tylko 6 i w sumie tylko w jednym mi strzałka, wykonana jako autokształt, nie trafia w oś. Nie wiem tylko jak będzie z edytowaniem, bo przy nowych wartościach coś się może poprzesuwać, ale to trudno, będę się ratować najwyżej paintem.
Dzięki za odzew |
|
 | ID posta:
145380
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
| |
| |