
通常の積上げ横棒グラフ(100%積上げではなく)で値と比率を同時に表示させるにはどうしたらいいでしょうか。30(20%)のような。
過去ログから%表示させるにはVBAを使った方が早いとのことでそのままコピペしたのですが
値も同時に。となるとマクロ初心者の身としましては手が着けられなく・・・。
過去ログです↓
http://oshiete.goo.ne.jp/qa/4040147.html
また、系列の追加はありませんが、今後項目が追加されてしまうのが予想できてしまうので
自動更新をVBAに組み込むことはできるのでしょうか。
テキストボックスに参照式を入れ込んでデータ一件ごとに貼り付けてみました。
しかし、項目が多く遠い目になってしまったので
なんとかできないものだろうかと思い質問させていただきました。
どなたかお知恵をお貸しいただけますでしょうか。
No.2ベストアンサー
- 回答日時:
>>No.1 この回答へのお礼
>二項目目以降の%値が合致しません。
合計値の初期化を忘れていました。
For i = 1 To np
pval = 0 '★要素合計値の初期化
For j = 1 To ns
yval = .SeriesCollection(j).values
pval = pval + yval(i)
Next j
For j = 1 To ns
With .SeriesCollection(j).Points(i).DataLabel
.TEXT = .TEXT & " (" & format(Val(.TEXT) / pval, "0.0%") & ")"
End With
Next j
Next i
>VBAでできたら良いなぁと思っています。
思っているだけでは実現できません。
紹介した過去ログの回答コードを参考に応用してみてください。
因みに下記の処でセル参照式をセットしています。
.TEXT = "=" & ws & "!" & Range(xadr)(i).Offset(, 1).Address
上記は
.TEXT = "=データシート名!データセル番地"
といった内容です。
リンク参照したいデータ表のレイアウトが問題です。
上記の例では元データセルから1列横のセルを指定しています。
お礼が遅くなりまして大変申し訳ございません。
いただいたコードで解決いたしました!
VBA初心者のため、いただいたコードを解析することから勉強していきます!
本当にありがとうございました!
No.1
- 回答日時:
取りあえず、データラベルに値と%値を表示する例です。
(例1)
Dim yval As Variant, pval As Variant
Dim stxt As String
Dim ns As Long, np As Long
Dim i As Long, j As Long, k As Long
With ActiveChart
ns = .SeriesCollection.Count
np = .SeriesCollection(1).Points.Count
For i = 1 To ns
With .SeriesCollection(i)
.HasDataLabels = True
.ApplyDataLabels Type:=xlValue
End With
Next i
For i = 1 To np
For j = 1 To ns
yval = .SeriesCollection(j).values
pval = pval + yval(i)
Next j
For j = 1 To ns
k = k + 1
With .SeriesCollection(j).Points(i).DataLabel
.TEXT = .TEXT & " (" & format(Val(.TEXT) / pval, "0.0%") & ")"
End With
Next j
Next i
End With
>テキストボックスに参照式を入れ込んでデータ一件ごとに貼り付けてみました。
データラベルを使えば良いと思います。
データセルをリンク参照表示するなら
=データセル&"("&%値セル&")"
といったような式でデータと%値を結合したセルを用意して置きます。
そして上記セルとデータラベルをリンクするようにします。
≪参考≫
エクセル2007 棒グラフの中に別のデータを表示
http://oshiete.goo.ne.jp/qa/6400372.html
>今後項目が追加されてしまうのが予想できてしまうので
>自動更新をVBAに組み込むことはできるのでしょうか。
ワークシートのイベントプロシージャを使う事になると思います。
≪参考≫
Excel(エクセル) VBA入門:ワークシートのイベント
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vb …
早速のご回答ありがとうございます。
早速出社し、VBAを実行したのですが、
別シートに参考のために%値をだしておいたものとVBA実行後のデータを参照すると最初の一項目目の%は一致しますが、二項目目以降の%値が合致しません。
それぞれ一項目を100%とした場合の値と%値を同時表示させたいのですがどうしたらよいのでしょうか。
>データラベルを使えば良いと思います。
たしかにそうでした・・・。
やはり一項目ごとに設定すると恐ろしく時間がかかってしまいそうなのでVBAでできたら良いなぁと思っています。
またまたお知恵をお貸しいただけるとうれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセルが突然選択でき...
-
ウェブから貼ったドロップダウ...
-
エクセルのセル内でタブキーの...
-
エクセルオンラインのみ勝手に...
-
エクセルにて指定文字数以上の...
-
エクセルマクロでセルの文字サ...
-
エクセルのグラフでデータテー...
-
エクセルで3Dの円錐形を作成...
-
差し込み印刷で文字化け!
-
特殊記号を一括で消去または置...
-
Excelで表を作り、自動で今月の...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
エクセルの曜日表示が正しく表...
-
エクセルで1列に500行並んだデ...
-
エクセルの複数のセルを一括で...
-
エクセルで日付から日にちを削...
-
A1セルに入力したら、入力時間...
-
複数の文字列のいずれかが含ま...
-
セルを結合したA4とA5の条件付...
-
エクセルでセルを10個分くらい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセルが突然選択でき...
-
エクセルのセル内でタブキーの...
-
エクセルのグラフでデータテー...
-
エクセルで3Dの円錐形を作成...
-
エクセル 文字の先頭4文字だ...
-
エクセルオンラインのみ勝手に...
-
差し込み印刷で文字化け!
-
エクセルで全波整流回路の波形
-
Word文書からExcelの該当箇所に...
-
#DIV/0!があるデータの折れ線...
-
エクセルマクロでセルの文字サ...
-
エクセルの神よ、ご回答を! エ...
-
日報のデータを月報にデータを...
-
エクセルについて
-
エクセルにて指定文字数以上の...
-
エクセルの一つのセルに文字と...
-
エクセル マクロ テキストファ...
-
エクセルの関数を教えて下さい。
-
2017.05.01を2017/05/1に変換す...
-
エクセル 指定した範囲内の特定...
おすすめ情報