Otsikoiden lisääminen XY-pistekaavion tai kuplakaavion arvopisteisiin Excelissä makron avulla

Yhteenveto

Microsoft Excelissä ei ole sisäistä komentoa, joka lisää tekstiotsikot automaattisesti arvopisteisiin XY-pistekaavioon tai kuplakaavioon. Voit kuitenkin luoda tätä tarkoitusta varten Microsoft Visual Basic for Applications -makron. Tässä artikkelissa on mallimakro, joka tekee tämän XY-pistekaaviolle. Tätä samaa koodia voidaan käyttää kuplakaaviolle.

Enemmän tietoa

Microsoftin esittämät ohjelmointiesimerkit on tarkoitettu ainoastaan asioiden kuvaamiseen, eikä niihin liity mitään nimenomaisesti ilmaistua tai oletettua takuuta, mukaan lukien oletettu takuu tuotteen soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta johonkin tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen sekä työkaluihin, joita käytetään prosessien luomisessa sekä virheiden jäljittämisessä ja korjaamisessa. Microsoftin tukipalvelun asiantuntijat voivat auttaa tietyn toiminnon toteuttamisessa, mutta he eivät muokkaa näitä esimerkkejä niiden kuvaamien toimintojen parantamiseksi eivätkä esitä ratkaisuja erityistarpeita varten. Jos ohjelmointikokemuksesi ei täytä tarpeitasi, voit ottaa yhteyttä Microsoft Certified Partner -kumppaniin. Lisätietoja Microsoft Certified Partner -kumppaneista on seuraavassa Microsoftin Web-sivustossa: Lisätietoja saatavana olevista tukivaihtoehdoista ja yhteyden ottamisesta Microsoftiin on seuraavassa Microsoftin Web-sivustossa: Tässä artikkelissa olevassa mallikoodissa oletetaan, että tiedot ja niihin liittyvät otsikot on järjestetty työkirjaan seuraavassa muodossa:
  • Tieto-otsikot ovat ensimmäisessä sarakkeessa.
  • Toinen sarake sisältää XY-pistekaavion X-arvot.
  • Kolmas sarake ja sen jälkeiset sarakkeet sisältävät XY-pistekaavion Y-arvot.
HUOMAUTUS: Vaikka annetussa esimerkissä on vain yksi sarake Y-arvoille, voit käyttää useita tietosarjoja.

Voit käyttää tämän artikkelin makroja luomalla kaavion seuraavien tietojen avulla:

A1: Otsikot B1: X-arvot C1: Y-arvot
A2: Arvopiste1 B2: 12 C2: 5
A3: Arvopiste2 B3: 9 C3: 7
A4: Arvopiste3 B4: 5 C4: 3
A5: Arvopiste4 B5: 4 C5: 8
A6: Arvopiste5 B6: 1 C6: 4
HUOMAUTUS: Taulukossa ei saa olla tyhjiä sarakkeita, ja tieto-otsikot sisältävä sarake ei saa olla erillään X-arvot sisältävästä sarakkeesta. Otsikot ja arvot on sijoitettava tarkalleen tässä artikkelissa kuvatulla tavalla. (Vasemmassa yläkulmassa olevan solun ei tarvitse olla solu A1.)

Voit liittää tekstiotsikot XY-pistetaulukon arvopisteisiin seuraavasti:
  1. Valitse mallitiedot sisältävässä työkirjassa solualue B1:C6 ja valitse sitten Lisää-valikosta Kaavio.
  2. Valitse Ohjattu kaavion luominen - Vaihe 1/4 - Kaavion laji -valintaikkunassa Vakiokaaviot-välilehti. Valitse Kaaviolaji-kohdassaPiste (XY) ja valitse sitten Seuraava.
  3. Valitse Ohjattu kaavion luominen - Vaihe 2/4 - Kaavion lähdetiedot -valintaikkunassa Tietoalue-välilehti. Valitse Sarjat ovat -kohdassa Sarakkeet ja valitse sitten Seuraava.
  4. Valitse Ohjattu kaavion luominen - Vaihe 3/4 - Kaavion asetukset -valintaikkunassa Seuraava.
  5. Valitse Ohjattu kaavion luominen - Vaihe 4/4 - Kaavion sijainti -valintaikkunassa Omana taulukkona ja valitse sitten Valmis.
  6. Käynnistä Visual Basic Editor painamalla ALT+F11.
  7. Valitse Lisää-valikosta Moduuli.
  8. Kirjoita seuraava mallikoodi moduulisivulle:
    Sub AttachLabelsToPoints()

    'Mittamuuttujat.
    Dim Counter As Integer, ChartName As String, xVals As String

    ' Poista näytön päivittäminen käytöstä alirutiinin suorittamisen ajaksi.
    Application.ScreenUpdating = False

    'Tallenna kaava ensimmäiseen sarjaan kohteessa "xVals".
    xVals = ActiveChart.SeriesCollection(1).Formula

    'Poimi tietojen alue xVals-kohteesta.
    xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
    Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
    xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
    Do While Left(xVals, 1) = ","
    xVals = Mid(xVals, 2)
    Loop

    'Liitä otsikko kaavion jokaiseen arvopisteeseen.
    For Counter = 1 To Range(xVals).Cells.Count
    ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
    True
    ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
    Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
    Next Counter

    End Sub
  9. Palaa Microsoft Exceliin painamalla ALT+Q.
  10. Siirry kaaviotaulukkoon.
  11. Valitse Työkalut-valikosta Makro ja valitse sitten Makrot. Valitse AttachLabelsToPoints ja suorita makro sitten valitsemalla Suorita.

    Makro liittää solujen A2:A6 otsikot kaavion arvopisteisiin.
Ominaisuudet

Artikkelin tunnus: 213750 – Viimeisin tarkistus: 11.10.2006 – Versio: 1

Palaute