戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
レーダーチャートを描いて...

    [192087] レーダーチャートを描いて...-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/23(16:53))
    □U R L/
      お世話になります。どうぞよろしくお願いいたします。
      
      Mac Excel最新版です。
      
      データは以下の通りです。
      
      1行目:タイトル行
      A列:名前
      B列〜F列:1〜4の数字
      
      現在テスト用として3名のデータが入力されています。
      
      これでレーダーチャートを作成したいと思いますが、2点うまくいきません。
      
      (1)レーダーチャートそのものが描けない
      (2)3名のレーダーチャートを、新規シート(追加するマクロを入れて)それぞれにグラフを表示させ、それをprintoutするマクロを作りたい。
      
      以下、作成したコードを貼り付けます。これは、あるサイトにあったものを利用しながら頑張って作成したものです。申し訳ございませんが、上記2点、アドバイスをいただけますでしょうか。
      
      
      
      Sub radargraph1()
      
      Dim gr
      Dim i As Long
      
      For i = 2 To 4
      
      Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
      
      With gr
          .Top = Range(Rows(1), Rows(2)).Height + Range(Rows(3), Rows(33)).Height
          .Left = Range(Columns(1), Columns(2)).Width
          .Width = Range(Columns(3), Columns(10)).Width
          .Height = Range(Rows(3), Rows(33)).Height
       
      
      With .Chart
          .HasTitle = True
          .ChartTitle.Text = Cells(i, 1) & " " & "さん"
          .Axes(xlValue).MaximumScale = 4
      
      Do Until .SeriesCollection.Count = 0
          .SeriesCollection(1).Delete
      Loop
      
      .SeriesCollection.NewSeries
      With .FullSeriesCollection(1)
          .Name = "=Sheet1!" & Cells(2, 1).Address
          .Values = "=Sheet1!" & Range(Cells(i, 2), Cells(i, 6)).Address
          .XValues = "=Sheet1!" & Range(Cells(1, 2), Cells(1, 6)).Address
          .Border.Color = RGB(0, 0, 255)
      
      End With
      End With
      End With
      
      Next i
      
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192088] Re[1]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/23(17:31))
    □U R L/
      少し修正しました
      
      Sub radargraph1()
          Dim gr
          Dim i As Long
          Dim r As Range
          
              Set r = ActiveSheet.Range("b2:F4")
      
          For i = 2 To 4
              Worksheets.Add
              Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
        
              With gr
                  .Top = 10 ' Range(Rows(1), Rows(2)).Height + Range(Rows(3), Rows(33)).Height
                  .Left = Range(Columns(1), Columns(2)).Width
                  .Width = Range(Columns(3), Columns(10)).Width
                  .Height = Range(Rows(3), Rows(33)).Height
               
                  With .Chart
                      .HasTitle = True
                      .ChartTitle.Text = r.Cells(i, 0) & " " & "さん"
                      .Axes(xlValue).MaximumScale = 4
                      
                      .SeriesCollection.NewSeries
                      With .FullSeriesCollection(1)
                          .Name = "=" & r.Cells(i, 0).Address(, , , True)
                          .Values = r.Rows(i)
                          .XValues = r.Rows(0)
                          .Border.Color = RGB(0, 0, 255)
                      
                      End With
                  End With
              End With
          
          Next i
      
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192091] Re[2]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/23(18:05))
    □U R L/

      マナ様

      ご教示いただきましてありがとうございます。

      実行いたしますとなぜか「Bさん」からグラフが作られ(本来はAさんが表示されなければいけません)、3人目ですが、グラフそのものは表示されますが、データがあるにもかかわらず表示されません。

      そして、ご教示いただいて気づきましたが、このデータは50個ございます。ということは、50個のシートが追加されるということですよね。。。(申し訳ございません、いま頃気づいてしまい。。。)

      例えばSheet2上に一人目のグラフを作成+印刷したら、そのグラフが削除されて、二人目のグラフ+印刷、、、、50人目のグラフ+印刷、とすることは可能でしょうか。

      申し訳ございません。




    [192092] Re[3]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/23(18:18))
    □U R L/
      こうですか
      
      Sub radargraph1()
          Dim gr
          Dim i As Long
          Dim r As Range
          
          Set r = ActiveSheet.Range("b2:F4")
          
          Worksheets.Add
          Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
          gr.Top = 10 ' Range(Rows(1), Rows(2)).Height + Range(Rows(3), Rows(33)).Height
          gr.Left = Range(Columns(1), Columns(2)).Width
          gr.Width = Range(Columns(3), Columns(10)).Width
          gr.Height = Range(Rows(3), Rows(33)).Height
          gr.Chart.HasTitle = True
          gr.Chart.SeriesCollection.NewSeries
           
          For i = 1 To r.Rows.Count
              With gr.Chart
                  .ChartTitle.Text = r.Cells(i, 0) & " " & "さん"
                  .Axes(xlValue).MaximumScale = 4
                    
                  With .FullSeriesCollection(1)
                      .Name = r.Cells(2, 0).Value
                      .Values = r.Rows(i)
                      .XValues = r.Rows(0)
                      .Border.Color = RGB(0, 0, 255)
                  End With
              End With
              ActiveSheet.PrintPreview
          Next i
      
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192094] Re[4]: レーダーチャートを描いて...-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/23(18:35))
    □U R L/

      マナ様

      お時間を取っていただき、ご教示くださり、本当にありがとうございました。

      無事、解決いたしました。





    [192097] Re[5]: レーダーチャートを描いて...-

    保留中です・・・ / 記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/23(20:12))
    □U R L/
      マナ様
      
      いったん解決マークをつけたのに申し訳ございません。一つ教えていただけますでしょうか。
      
      With gr.Chart
                  .ChartTitle.Text = r.Cells(i, 0) & " " & "さん"
                  .Axes(xlValue).MaximumScale = 4
      
      
      このコードで r.Cells(i,0)の意味がわからないのです。
      
      例えば、ご提示くださいました r で指定された範囲「外」として、列Aと列Bがある場合
      
      .ChartTitle.Text = r.Cells(i, 0) & " 年" & r.Cells(i, 1) & " さん"
      
      と書きますと、「さん」にくっつく値が列Cの値なのです。
      
      よろしくお願いいたします。
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192100] Re[6]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/23(21:49))
    □U R L/

      一列増えたとうことでしょうか?

      .ChartTitle.Text = r.Cells(i, -1) & " 年" & r.Cells(i, 0) & " さん"




    [192101] Re[7]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/23(22:03))
    □U R L/
      ○の範囲が r だとしたら
      
      ●は、r.Rows(0)
      ▲は、r.Columns(0)
      ■は、r.Columns(-1)
      ★は、r.Cells(0, 0)
      ☓は、r.Cells(0, -1)
      
      ということです。
      
      ☓	★	●	●	●
      ■	▲	○	○	○
      ■	▲	○	○	○
      ■	▲	○	○	○
      




    [192102] Re[8]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/23(22:22))
    □U R L/
      改めて見ると、もっとループの外にだしてもよかったです。
      
      Sub radargraph1()
          Dim gr As Shape
          Dim i As Long
          Dim r As Range
          Dim ser As Series
          
          Set r = ActiveSheet.Range("C2:G4")
          
          Worksheets.Add
          Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
          gr.Top = 10 ' Range(Rows(1), Rows(2)).Height + Range(Rows(3), Rows(33)).Height
          gr.Left = Range(Columns(1), Columns(2)).Width
          gr.Width = Range(Columns(3), Columns(10)).Width
          gr.Height = Range(Rows(3), Rows(33)).Height
          gr.Chart.HasTitle = True
          gr.Chart.Axes(xlValue).MaximumScale = 4
          Set ser = gr.Chart.SeriesCollection.NewSeries
          ser.XValues = r.Rows(0)
          ser.Border.Color = RGB(0, 0, 255)
      
          For i = 1 To r.Rows.Count
               gr.Chart.ChartTitle.Text = r.Cells(i, -1) & " 年" & r.Cells(i, 0) & " さん"
              ser.Values = r.Rows(i)
              ActiveSheet.PrintPreview
          Next i
      
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192108] Re[9]: レーダーチャートを描いて...-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/25(07:14))
    □U R L/

      マナ様

      お返事が大変遅くなり申し訳ございません。昨日会社のネットワークの点検日でアクセスがうまくいきませんでした。

      図形での説明、大変ありがたかったです。こういう説明が市販本でもあるといいのにと思ってしまいました。

      ありがとうございました。




    [192112] Re[10]: レーダーチャートを描いて...-

    迷宮入りorほかあたって見ます・・ / 記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/26(20:35))
    □U R L/
      申し訳ございません。
      
      いろいろなサイトを見て頑張ってみたのですが、だめでしたので、失礼を承知で、再度おたずねさせてください。rで範囲指定されたその次の行(最終行)に列平均の値を計算しました。その平均値を赤の線で一緒に表示させたいのですが、
      
      Set ser1 = gr.Chart.SeriesCollection.NewSeries
          ser1.XValues = r.Rows(1) 'ご説明いただいた図のrの範囲外を参考
      
      とser1を設定して追加をしようと試みているのですが、できません。以下のコードをどのように修正すれば新しい系列が追加できるのでしょうか。
      
      Sub radargraph1()
          Dim gr As Shape
          Dim i As Long
          Dim r As Range
          Dim ser As Series
          
          Set r = ActiveSheet.Range("C2:G4")
          
          Worksheets.Add
          Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
          gr.Top = 10 ' Range(Rows(1), Rows(2)).Height + Range(Rows(3), Rows(33)).Height
          gr.Left = Range(Columns(1), Columns(2)).Width
          gr.Width = Range(Columns(3), Columns(10)).Width
          gr.Height = Range(Rows(3), Rows(33)).Height
          gr.Chart.HasTitle = True
          gr.Chart.Axes(xlValue).MaximumScale = 4
          Set ser = gr.Chart.SeriesCollection.NewSeries
          ser.XValues = r.Rows(0)
          ser.Border.Color = RGB(0, 0, 255)
      
          For i = 1 To r.Rows.Count
               gr.Chart.ChartTitle.Text = r.Cells(i, -1) & " 年" & r.Cells(i, 0) & " さん"
              ser.Values = r.Rows(i)
              ActiveSheet.PrintPreview
          Next i
      
      End Sub
      
      ご教示いただけますでしょうか。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192113] Re[11]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/26(21:18))
    □U R L/

      どんなグラフを作成したいのか理解できません。




    [192114] Re[12]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/26(21:29))
    □U R L/

      マナ様

      このたびは申し訳ございません。また説明不足で申し訳ございません。

      ********************
      1行目:タイトル行
      A列:名前
      B列〜F列:1〜4の数字

      現在テスト用として3名のデータが入力されています。
      ********************

      このデータを使って、マナ様にそれぞれのグラフを作成するコードをご教示いただきました。(一列追加の件で図で説明していただきましたが、やり方は理解いたしましたので、元データで説明させていただきます。)

      この3名のデータの下に平均点をもうけて、それぞれのグラフの中に平均を表す系列をもうけたいのです。

      名前 q1 q2 q3 q4 q5
      A 3 2 3 1 3
      B 4 3 4 4 2
      C 3 4 3 1 2
      平均 3.3 3.0 3.3 2.0 2.3

      つまりAさんのレーダーチャートに平均のレーダーチャートを重ねる、Bさんのレーダーチャートに平均のレーダーチャートを重ねる、という具合です。

      平均のレーダーチャートを、マナ様に作成いただいたコードにどのように追加すればいいのかがわからないのです。

      説明が下手で申し訳ございません。




    [192115] Re[13]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/26(21:47))
    □U R L/

      項目軸は、r.Rows(0)
      値軸は、r,Rows(r.Rows.Count+1)

      ではありませんか。




    [192116] Re[14]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/26(22:03))
    □U R L/
      マナ様
      
      このようなことでしょうか?この場合だと平均値が描かれるようです。
      (申し訳ございませんが、手元のExcelにあるコードが1列追加をしたものでしたので、rの範囲はC2:G4といたしました。)
      
      基本的な知識がなくて申し訳ございません。
      
      Sub radargraph1()
          Dim gr As Shape
          Dim i As Long
          Dim r As Range
          Dim ser As Series
          
          Set r = ActiveSheet.Range("C2:G4")
          
          Worksheets.Add
          Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
          gr.Top = 10
          gr.Left = 3
          gr.Width = Range(Columns(3), Columns(10)).Width
          gr.Height = Range(Rows(3), Rows(33)).Height
          gr.Chart.HasTitle = True
          gr.Chart.Axes(xlValue).MaximumScale = 4
          gr.Chart.Axes(xlValue).MinimumScale = 0
          Set ser = gr.Chart.SeriesCollection.NewSeries
          ser.XValues = r.Rows(0)
          ser.Border.Color = RGB(0, 0, 255)
      
          For i = 1 To r.Rows.Count
               gr.Chart.ChartTitle.Text = r.Cells(i, -1) & " 年" & r.Cells(i, 0) & " さん"
              ser.Values = r.Rows(i)
               ser.Values = r.Rows(r.Rows.Count + 1)
              ActiveSheet.PrintPreview
          Next i
      
      End Sub・・・・…………


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192117] Re[15]: レーダーチャートを描いて...-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/05/26(22:16))
    □U R L/
      2系列のグラフですよね。
      平均値用の系列 ser2を追加NewSeriesしてください。
      でAser2の項目軸と値軸を設定するのです。
      Aさん〜Cさんに共通なので、記述する場所は、ループの外です。
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192118] Re[16]: レーダーチャートを描いて...-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ popculture -(2020/05/26(22:29))
    □U R L/
      マナ様
      
      以下のコードで動きました。遅い時間にもかかわらずご教示いただきましてありがとうございました。本当にありがとうございます!
      
      Sub radargraph1()
          Dim gr As Shape
          Dim i As Long
          Dim r As Range
          Dim ser As Series
          Dim ser1 As Series
           
          Set r = ActiveSheet.Range("C2:G4")
          
          Worksheets.Add
          Set gr = ActiveSheet.Shapes.AddChart2(317, xlRadar)
          gr.Top = 10
          gr.Left = 3
          gr.Width = Range(Columns(3), Columns(10)).Width
          gr.Height = Range(Rows(3), Rows(33)).Height
          gr.Chart.HasTitle = True
          gr.Chart.Axes(xlValue).MaximumScale = 4
          gr.Chart.Axes(xlValue).MinimumScale = 0
          Set ser = gr.Chart.SeriesCollection.NewSeries
          ser.XValues = r.Rows(0)
          ser.Border.Color = RGB(0, 0, 255)
          Set ser1 = gr.Chart.SeriesCollection.NewSeries
          ser1.XValues = r.Rows(0)
          ser1.Values = r.Rows(r.Rows.Count + 1)
           
          For i = 1 To r.Rows.Count
              gr.Chart.ChartTitle.Text = r.Cells(i, -1) & " 年" & r.Cells(i, 0) & " さん"
              ser.Values = r.Rows(i)
               
              ActiveSheet.PrintPreview
          Next i
      
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G