

エクセル2007、
OSはWindows Vista と XPの両方です。
とあるレーダーチャートをつくり、一部ずば抜けたところもつぶすことなく表示したいのですが、どうやればいいのか分かりません。過去の質問も、バージョンが古いせいか、いまいち理解できませんでした。
たとえば、最大値100のレーダーチャートの中に、例外として150や200という項目があった場合……枠からはみ出した部分をすべて表示させる方法はありますでしょうか? グラフをすべて表示させた結果として、枠が小さくなってしまってもかまいません。
よろしくお願いします。

No.2ベストアンサー
- 回答日時:
値100以外の目盛り線を引かなくてもよくて、データの最大値が200を超えないという条件つきですが
軸の書式設定のメモリタブで
最小値:0
最大値:199
メモリ間隔:100
補助メモリ間隔:(適宜)
の設定で何とかいけると思います。
うまく描画できる最大値としては
要素の位置にもよりますが、ご質問の画像
Aの位置で200ぎりぎりいっぱい
B・Eの位置で205
C・Dの位置で250
までは何とか切れずに描画できる限界のようです。
ただし確認したのはExcel2003です。
返事遅れました。
おお、理想に近い形となりました。なるほど、最後の外枠をメモリ間隔よりわずかに小さくすることで、外枠を非表示、かつ最大値が100に見えるようにしているということですか。後は数値にあわせて上記の三項目を調整すればよいのですね。
ありがとうございました。
No.7
- 回答日時:
回答番号:No.5 をマクロ化してみました。
こちらの方はプロットエリアのサイズは元のグラフのままです。
シート上に、元のグラフが1個のみあると仮定
最大値は自動設定
計算では図形化したグラフのサイズと位置座標に少しずれが出ます。
その為、補正値を入れてズレを修正しています。
ズレの正体が掴めていません。
Sub test2()
Dim chrleft
Dim chrtop
Dim chrwidth
Dim chrheight
Dim plawidth
Dim plaheight
Dim plaleft
Dim platop
Dim maxscale
Dim x0
Dim y0
With ActiveSheet.ChartObjects(1)
chrleft = .Left
chrtop = .Top
chrwidth = .Width
chrheight = .Height
With .Chart
maxscale = .Axes(xlValue).MaximumScale
plaleft = .PlotArea.InsideLeft
platop = .PlotArea.InsideTop
plawidth = .PlotArea.InsideWidth
plaheight = .PlotArea.InsideHeight
x0 = plaleft + plawidth / 2
y0 = platop + plaheight / 2
.HasAxis(xlValue) = False
.Axes(xlValue).HasMajorGridlines = False
.Axes(xlValue).HasMinorGridlines = False
.ChartGroups(1).RadarAxisLabels.Font.ColorIndex = 2
End With
End With
ActiveSheet.ChartObjects(1).Chart.ChartArea.Copy
ActiveCell.Activate
ActiveSheet.Pictures.Paste
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
With .PictureFormat
.CropLeft = plaleft + 6 '補正値:+6
.CropTop = platop + 5 '補正値:+5
.CropRight = chrwidth - plaleft - plawidth
.CropBottom = chrheight - platop - plaheight
End With
.LockAspectRatio = msoTrue
.Width = .Width * maxscale / 100
.Left = chrleft + (x0 - .Width / 2) + 4.5 '補正値:+4.5
.Top = chrtop + (y0 - .Height / 2) + 2 '補正値:+2
.ZOrder msoSendToBack
End With
With ActiveSheet.ChartObjects(1).Chart
.HasAxis(xlValue) = True
.HasAxis(xlCategory) = True
.Axes(xlValue).HasMajorGridlines = True
.Axes(xlValue).HasMinorGridlines = True
.Axes(xlValue).MaximumScale = 100
.PlotArea.Interior.ColorIndex = xlNone
.ChartArea.Interior.ColorIndex = xlNone
.ChartGroups(1).RadarAxisLabels.Font.ColorIndex = xlAutomatic
End With
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, chrleft, chrtop, chrwidth, chrheight)
.Fill.ForeColor.SchemeColor = 1
.Line.Weight = 0
.ZOrder msoSendToBack
End With
End Sub
尚、回答番号:No.6の元のグラフも最大値は自動設定で考えています。
マクロは試したことがないため、これを機に学んでみようかと思います。いただいた文字列(?)を入力したところ、作業によって重ねられたチャートが表示されました。私の下準備が足りないせいか、なぜかはみ出ているところは表示されませんでしたが……。
皆々様のおかげで幾多の方法を確認できました。
本当にありがとうございました。
No.6
- 回答日時:
返事を頂けませんが、もうみていないのですか?
もうひとつ考えてみました。
元のグラフをコピーして、最大値を100、グラフエリアを塗り潰しなし、にして重ねあわせます。
元のグラフは、数値軸、軸ラベル、目盛線等を非表示にしておきます。
重ねたときに、プロット部分がぴったり合うように、プロットエリアのサイズと位置を調整しなければなりません。
この作業が面倒なのでマクロを組んでみました。
提示された例で試した限りでは上手く動いています。
ただし、プロットエリアのサイズが小さくなるので、相対的にグラフエリアの余白が大きくなります。
元のグラフを選択しておいてマクロを実行してみてください。
(他にグラフはないものと仮定しています。)
Sub test1()
Dim chrleft
Dim chrtop
Dim plawidth
Dim plaheight
Dim plaleft
Dim platop
Dim maxscale
Dim x0
Dim y0
With ActiveChart
With .Axes(xlValue)
maxscale = .MaximumScale
End With
chrleft = .Parent.Left
chrtop = .Parent.Top
plawidth = .PlotArea.InsideWidth
plaheight = .PlotArea.InsideHeight
x0 = .PlotArea.InsideLeft + plawidth / 2
y0 = .PlotArea.InsideTop + plaheight / 2
End With
ActiveChart.ChartArea.Copy
ActiveSheet.Paste
ActiveSheet.ChartObjects(1).Activate
With ActiveChart
.HasAxis(xlValue) = False
.Axes(xlValue).HasMajorGridlines = False
.Axes(xlValue).HasMinorGridlines = False
End With
ActiveSheet.ChartObjects(2).Activate
With ActiveChart
With .Axes(xlValue)
.MaximumScale = 100
End With
.Parent.Left = chrleft
.Parent.Top = chrtop
.PlotArea.InsideHeight = plaheight * 100 / maxscale
.PlotArea.InsideWidth = plawidth * 100 / maxscale
.PlotArea.InsideLeft = x0 - .PlotArea.InsideWidth / 2
.PlotArea.InsideTop = y0 - .PlotArea.InsideHeight / 2
.ChartArea.Interior.ColorIndex = xlNone
End With
End Sub
No.5
- 回答日時:
少々手間かもしれませんが、図形を重ね合わせて誤魔化せばどうでしょうか。
A:最大値100で固定したグラフのプロットエリアを「塗りつぶしなし」に設定
B:最大値100で固定したグラフと同サイズの四角形を用意
次に、最大値非固定のグラフを描画し図形に加工する。
最大値100で固定したグラフとプロットされた図形を同サイズに調整
プロットされた図形部とプロットエリア以外は非表示に設定
調整されたグラフをコピーし、図として貼り付け
C:図形部の左右上下をトリミング
B、C、A、の順で重ね合わせる(Aを「最前面に移動」Bを「最背面に移動」)
多忙でしばらくパソコンから離れており、回答の確認が遅れました、すいません。何度も例を作成していただきありがとうございます。
当方、お恥ずかしながらエクセルの操作に慣れていませんので、十分な理解に至るまでまだ時間を要しますが、No.3さんのと方法は似ていると考えてよろしいでしょうか? 教えていただいた方法がうまくできないので、じっくり時間をかけて取り組みたいと思います。
No.4
- 回答日時:
この回答への補足
返事遅れました。
すいません、質問文にある「過去の質問」とは、それのことです。あまり参考にならなかったので、あらためて質問したしだいです。
No.3
- 回答日時:
こんばんは!
参考になるかどうか判りませんが・・・
無理矢理↓の画像のように作ってみました。
どうしても最大値を100で作成したい!ということですよね?
レーダーチャートでグラフを作成したあとに
オートシェイプの三角形を貼り付けて、画面を拡大し、微調整しています。
そして、系列の色と三角形の塗りつぶしの色をあわせてみました。
(系列内に三角形の余分な直線が入りますので、とりあえずオートシェイプの「線なし」にして、あとからオートシェイプの直線を書き入れています)
「B 150」に関してはテキストボックスの線なしで後から貼り付けています。
以上、かなり強引な方法ですが、
他に良い方法があれば読み流してくださいね。m(__)m

返事遅れました。
わざわざ作成した画像まで添付していただき痛み入ります。
途中にメモリ間隔の枠があるので、こちらも有効ですね。時間の許すときに視野に入れてみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルでレーダーチャートのグラフを作成しようとしました。 表をレーダーチャートにした際は,問題無く 1 2023/08/10 20:08
- ノートパソコン ハードディスクが壊れたPCのオークションへの出品の仕方を教えてください 9 2022/11/16 08:13
- Wi-Fi・無線LAN aquos wishのパソコンへのテザリング設定 1 2023/02/08 12:13
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- Windows 10 パソコンの起動時、画面が黒いままのトラブルにつきまして。 4 2022/10/02 18:02
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- X(旧Twitter) カギをかけているツイッターの検索について教えてください。 2 2022/11/07 17:22
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
- その他(クラウドサービス・オンラインストレージ) Googleカレンダーの共有について質問させて頂きます。 現在、個人でのGoogleカレンダーと職場 2 2022/10/19 15:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
快活CLUBについて 私用で使う書...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
outlookのメールが固まってしま...
-
エクセルで特定のセルの値を別...
-
別シートの年間行事表をカレン...
-
Office 2021 Professional Plus...
-
マクロ自動コピペ 貼り付ける場...
-
Microsoft Formsの「個人情報や...
-
エクセルVBAで1004エラーになり...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Office Homeインスト...
-
Excelで〇のついたものを抽出し...
-
会社のOutlookにてメールを予約...
-
web上にあるエクセルをショート...
-
Microsoft365について
-
エクセルで自動的にQRを表示さ...
-
【マクロ】違うブックのCallス...
-
Officeを開くたびの「再起動メ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
Microsoft365について
-
outlookのメールが固まってしま...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
エクセルVBAで1004エラーになり...
-
エクセルで特定のセルの値を別...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Formsの「個人情報や...
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office2019 のoutlookは2025年1...
-
マクロ自動コピペ 貼り付ける場...
-
表の作成について
-
office365 回復できない。
-
マイクロソフト 一時使用コード...
-
Teams内でショートカットって貼...
-
Microsoft Office Homeインスト...
おすすめ情報