• ベストアンサー

Excel2010の棒グラフに数値以外のセルを表示

mitarashiの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.5

#1です。 △をY=0の箇所に表示するニーズについて、X軸の目盛りのラベルを下端に設定した場合(当方の好みですが)に対応できるコードです。ご参考まで。 Sub test() Dim myChart As Chart Dim mySeries As Series Dim yValueRange As Range Dim i As Long 'ActiveSheetにグラフが一個ある事が前提 Set myChart = ActiveSheet.ChartObjects(1).Chart 'データ系列も一つだけが前提 Set mySeries = myChart.SeriesCollection(1) With mySeries 'SeriesのFormulaからyvalueのセル範囲を取得 '例: =SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$100,Sheet1!$B$2:$B$100,1) の$B$2:$B$100を取得 Set yValueRange = ActiveSheet.Range(Split(Split(mySeries.Formula, ",")(2), "!")(1)) For i = 1 To .Points.Count .Points(i).ApplyDataLabels '各Y値のセルの一つ右隣の値をデータラベルに設定 .Points(i).DataLabel.Text = yValueRange.Cells(i).Offset(, 1).Value '毎回計算する必要は無いのですが手抜きです。律速になる場合は、ループの外で計算して下さい... .Points(i).DataLabel.Top = convertToPlotareaPosY(myChart, 0) - .Points(i).DataLabel.Height / 2 Next i End With End Sub '軸目盛りの値→グラフ上の座標に変換 'xlCategory対応を改造したので名残があります... Private Function convertToPlotareaPosY(targetGraph As Chart, SetScale As Single) As Single Dim PIH As Single, PIW As Single, PIT As Single, PIL As Single Dim MaxScale As Single, MinScale As Single Dim x As Single On Error GoTo ErrorHandler If targetGraph Is Nothing Then Exit Function With targetGraph With .Axes(xlValue) MinScale = .MinimumScale MaxScale = .MaximumScale End With With .PlotArea PIH = .InsideHeight PIW = .InsideWidth PIT = .InsideTop - 0.25 PIL = .InsideLeft - 0.25 End With End With convertToPlotareaPosY = (MaxScale - SetScale) / (MaxScale - MinScale) * PIH + PIT ErrorHandler: Exit Function End Function

関連するQ&A

  • EXEL棒グラフでの数値の付け方

    EXELの棒グラフ作成時、積み上げ縦棒を作りました。 これは一つの棒グラフ内の割合が表示されるものだと思うのですが、それぞれの具体的な数字をグラフ内に表記したいと思いました。何もしないと、横の数値を見て、大体を推測するだけになってしまいますよね。 それを棒グラフの中に数値を当てはめるのはできたのですが、それぞれの棒の横に数値を記入する方法をご存知な方はいませんでしょうか? EXEL内に任意の数値や文字を記入する方法でもいいです。どうぞよろしくお願いいたします!解決次第、すぐにポイントを発行させていただきます。

  • Excel 棒グラフ的な、セルへの自動着色

    通常のグラフの機能を使用するのではなく セルに着色またはハッチングパターンを自動的に記入する方法を教えて下さい 例えばA11に1の数字が入っていたら、A1からA10まで10マスが塗られます。 B11に5の数字が入っていたら、B6からB10までが。C11が1だったらC10が一マスだけ着色されます。 つまり11行めに入った数字を読み取り、同じ列の1から10までを棒グラフエリアとして10行目をベースに上に塗っていき、あたかも棒グラフの様な表現にしたいのです。 宜しくお願いします。

  • excel2013でグラフを表示できない。

    excel2013で折れ線グラフを表示したいのですが、データのない箇所は、0表示になります、数値のあるセルのみ表示したいのですが途中の操作ができなくなってしまいます。何が原因でしょうか教えて頂けませんか。 取り扱い 「デザイン」タブの「データの選択」をクリック、「データソースの選択」し「非表示および空白セル」をクリック この時、空白セルの表示方法は、ゼロ(Z)が選択されています。 ここで、下段の、データ要素線で結ぶ(C)を選択しようとしても、クリックできません、 唯一クリックできるのは、非表示の行と列のデータを表示する、(H)のチエックのみはできます。 原因が分かりません、教えて頂けませんか。お願いいたします。

  • Excel積上げ棒グラフ合計値数字の表示方法

    Excel2007で積上げ棒グラフを使用しグラフを作成する際、積上げる個々のグラフの数値表示は グラフ積上げ部分を指定し、「データラベルの追加」のメニューを選択することでグラフ内に数値が 表示されます。 この状態で、棒グラフ先端に積上げ合計値を表示させたグラフを作成したいのですが、作成方法を 教えて下さい。

  • EXCELで棒グラフへのテキスト表示

    EXCELで、グラフ機能を使って棒グラフを作成しました。その棒グラフ内の各棒は幾つかの項目から成っていますがそれぞれに該当する項目名を表示したいのですが、”データ配列の書式設定”の”データラベル”のところでは、”値”・”ラベル(=要素)”は設定できるのですが”系列”の設定ができません。可能な方法をお教えいただければよろしくお願いいたします。

  • 棒グラフの合計の数字を棒グラフの上に表示したい

    棒グラフでその棒グラフの合計の数字を棒グラフの上に表示したいのですが、やり方を忘れてしまいました。右クリックして、データで値を選べばよかったと思うのですが、うまくできません。わかる方、教えてください。 回答、お待ちしてます。

  • 棒グラフの棒を何本にも表示させるには

    エクセル・グラフウイザードでグラフ作成の時、数字が5000から200までの棒グラフの最大目盛りを1000にして棒を何本も表示させたい。200の棒が少なすぎて目立たないのです。宜しくお願いいたします

  • EXCEL2007 棒グラフについて

    お世話になっております。エクセルのグラフ機能について教えてください。 EXCEL2007で棒グラフを作っています。 横軸に期間(過去1年)、縦軸に商品の販売個数を表示しています。 現在は単純に過去1年のデータを積み上げ棒グラフで表示しているのですが、 昨期同月との比較をしたく、昨期のデータを現在表示している棒グラフの左横に表示しようと考えたのですがやり方がわかりません。 表を分ければ済む話かもしれませんが、できれば同一グラフ上に表示したいのです。 宜しくお願い致します。

  • エクセルでの棒グラフ作成

    エクセルでグラフを棒グラフを作成しています。 その中で、Y軸の表示単位を”x1,000”にしたら、棒グラフ上に表示させているデータラベル(単位:%)までもが、”x1,000”単位で計算されてしまいました。 つまり、48%というデータラベルが、0.048%になってしまいました。 元データをいじる事なく、データラベルを、48%としたいのですが、どのようにしたらいいのか、ご教授願います。

  • Excel2013のグラフについて

    Excel初心者です。参考書等は読みましたがわからないことがあります。 膨大な数のデータをグラフにしようとしています。列はたった2つですが行が1万以上あります。 縦棒グラフには出来るのですが、そこから横軸の数字を1列目の数字に変更する方法がわかりません。 255以上の項目があるとオススメグラフなども表示されないみたいです。 ご回答をお願いします。