advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 3686 for グラフ (0.002 sec.)
[[20190901165533]]
#score: 3272
@digest: 3b72e4dfb19b997bed71f453a0b79911
@id: 80642
@mdate: 2019-09-02T15:42:49Z
@size: 12560
@type: text/plain
#keywords: さデ (47365), タ番 (43363), setelement (38086), 号* (30993), 差y (29523), 上グ (29217), 群目 (22862), 元aa (22494), msoelementdatalabeloutsideend (21971), タ元 (21116), charttitle (20211), xlbarclustered (19520), フ8 (18074), フ7 (18074), 値x (15432), 目13 (14826), フタ (14785), xlvalue (13683), xvalues (12113), ドno (11091), seriescollection (11006), 名デ (10853), 準偏 (10774), addchart (10293), duplicate (9951), minimumscale (9951), chart (9681), 偏差 (8532), axes (8239), タタ (7932), ラフ (7700), フ2 (7215)
『VBAで項目ごとにグラフを挿入する』(TK)
データをVBAを用いてグラフ化することに挑戦しています。 以下のように集計された表の空欄にグラフを作成しようとしています。 集計されたものなので各データ数などバラバラになっています。 A B C D E F G H R 1 データタイトル 2 3 項目1 項目2… 項目13 4 コードNo コード名 データ番号 * ** *** 5 データ番号2 * ** *** 6 データ数 2 7 平均値 X 8 標準偏差 Y 9 10 11 … 20 データタイトル 21 22 項目1 項目2… 項目13 23 コードNo コード名 データ番号 * ** *** 24 データ番号2 * ** *** 25 データ番号3 * ** *** 26 データ数 3 27 平均値 W 28 標準偏差 Z 29 30 … 40 データタイトル このような形で縦にデータが並んでいます。 これに対しT列以降の右の作業列でデータの主要項目で グラフを作ろうとしています。 ABCD E F…RS T U V W X Y Z AA AB AC AD AE AF… 2 グラフタイトル1 グラフタイトル2 3 値 0 25 50 75 100 0 50 150 200 0 0… 4 度数 0 1 0 0 0 0 0 2 0 0 0… 5 6 … 21 グラフタイトル1 グラフタイトル2 22 値 0 25 50 75 100 0 50 150 200 0 0… 23 度数 0 1 0 0 0 0 0 2 0 0 0… 24 グラフははいずれも3行5列の作業列表で構成されており、 以下のコードで何とか最初の 2行目から始まるデータの グラフ化には成功しました。 どうにもDimやLoopなどはまだまだ馴染めません… 縦のデータ間には11行空欄(E列:標準偏差〜データタイトル間)があるので そのスペースにE列標準偏差の1行下から2列おきにグラフを右に 並べています。 Sub Graph() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlBarClustered .SetSourceData Range("V4:Z4") .SetElement msoElementDataLabelOutSideEnd .HasTitle = True With .ChartTitle .Text = Range("Z2").Text .Font.Size = 8 End With .Axes(xlValue).MaximumScale = 10 .Axes(xlValue).MinimumScale = 0 .Axes(xlValue, xlPrimary).CategoryNames = _ Range("V3:Z3") .Axes(xlCategory).TickLabels.Font.Size = 8 With ActiveSheet.ChartObjects .Top = Range("E10").Top .Left = Range("E10").Left .Height = 150 .Width = 100 End With End With Dim cho As ChartObject Dim tbl As Range Dim pos As Range Dim L As Double, T As Double For Each cho In ActiveSheet.ChartObjects cho.Chart.HasLegend = False Next cho Set cho = ActiveSheet.ChartObjects(1) Set tbl = Range("V3:Z4") Set pos = Range("E10") Do Set tbl = tbl.Offset(, 5) If tbl(1).Value = "" Then Exit Do Set pos = pos.Offset(, 2) With cho.Duplicate .Left = pos.Left .Top = cho.Top .Chart.SeriesCollection(1).XValues = tbl.Rows(1) .Chart.SeriesCollection(1).Values = tbl.Rows(2) .Chart.ChartTitle.Text = tbl(0, 5).Text End With Loop End Sub これを集計されたデータに対し縦の集団ごとに展開していくやり方をご教授頂きたく、宜しくお願いします。 < 使用 Excel:Excel2016、使用 OS:Windows7 > ---- >これを集計されたデータに対し縦の集団ごとに展開していく 理解できません。 各グラフの、表示位置と元データの範囲を具体的に提示できませんか。 グラフ4個分で結構です。 (マナ) 2019/09/01(日) 19:40 ---- こういうことですか。 Sub test() Dim cht As Chart Dim t0 As Range, t As Range Dim p0 As Range, p As Range Dim ser As Series Dim y As Long, x As Long Set t0 = Range("V2:Z4") Set p0 = Range("E10") On Error Resume Next ActiveSheet.ChartObjects.Delete On Error GoTo 0 Set cht = ActiveSheet.Shapes.AddChart( _ xlBarClustered, p0.Left, p0.Top, 100, 150).Chart With cht Set ser = .SeriesCollection.NewSeries ser.XValues = t0.Rows(2) ser.Values = t0.Rows(3) .ChartArea.Font.Size = 8 .SetElement msoElementLegendNone .SetElement msoElementDataLabelOutSideEnd .SetElement msoElementChartTitleAboveChart .ChartTitle.Formula = "=" & t0(1).Address(, , , True) .Axes(xlValue).MaximumScale = 10 .Axes(xlValue).MinimumScale = 0 End With Do x = x + 1 Set t = t0.Offset(y, 5 * x) If t(1).Value = "" Then y = y + 19 x = 0 Set t = t0.Offset(y, 5 * x) If t(1).Value = "" Then Exit Do End If Set p = p0.Offset(y, 2 * x) With cht.Parent.Duplicate .Left = p.Left .Top = p.Top .Chart.SeriesCollection(1).XValues = t.Rows(2) .Chart.SeriesCollection(1).Values = t.Rows(3) .Chart.ChartTitle.Formula = "=" & t(1).Address(, , , True) End With Loop End Sub (マナ) 2019/09/01(日) 23:01 ---- 説明不足で申し訳ありません。 以前と少し違いますが書きなおします。 A B C D E F G H I… R 2 データタイトル 3 4 項目1 項目2… 項目13 5 コードNo コード名 データ番号 * ** *** 6 データ番号2 * ** *** 7 データ数 2 8 平均値 X 9 標準偏差 Y 10 グラフ1左上 グラフ2左上 グラフ3左上 11 12 13 14 15 16 17 18 19 20 グラフ1右下 グラフ2右下 21 データタイトル 22 23 項目1 項目2… 項目13 24 コードNo コード名 データ番号 * ** *** 25 データ番号2 * ** *** 26 データ数 2 27 平均値 X 28 標準偏差 Y 29 グラフ7左上 グラフ8左上 グラフ9左上 30 31 32 33 34 35 36 37 38 39 グラフ7右下 グラフ8右下 40 データタイトル 41 42 項目1 項目2… 項目13 43 コードNo コード名 データ番号 * ** *** 44 データ番号2 * ** *** 45 データ数 2 46 平均値 X 47 標準偏差 Y 48 グラフ13左上 グラフ14左上 グラフ15左上 以降作業列 ABCD E F…RS T U V W X Y Z AA AB AC AD AE AF… 2 グラフタイトル1 グラフタイトル2 3 値 0 25 50 75 100 0 50 150 200 0 0… 4 度数 0 1 0 0 0 0 0 2 0 0 0… 5 6 … 21 グラフタイトル1 グラフタイトル2 22 値 0 25 50 75 100 0 50 150 200 0 0… 23 度数 0 1 0 0 0 0 0 2 0 0 0… 24 1群目(2行目〜 グラフ1:E10:F20の大きさ データ元V3:Z4 タイトルZ2 グラフ2:G10:H20の大きさ データ元AA3:AE4 タイトルAE2 グラフ3:I10:J20の大きさ データ元AF3:AJ4 タイトルAJ2 グラフ4:K10:L20の大きさ データ元AK3:AO4 タイトルAO2 グラフ5:M10:N20の大きさ データ元AP3:AT4 タイトルAT2 グラフ6:O10:P20の大きさ データ元AU3:AY4 タイトルAY2 … という元データ3行5列の表の繰り返し グラフは2列おきに配置 現在グラフは1群あたり6つ作成 2群目(21行目〜 グラフ7:E29:F39の大きさ データ元V22:Z23 タイトルZ21 グラフ8:G29:H39の大きさ データ元AA22:AE23 タイトルAE21 グラフ9:I29:J39の大きさ データ元AF22:AJ23 タイトルAJ21 グラフ10:K29:L39の大きさ データ元AK22:AO23 タイトルAO21 グラフ11:M29:N39の大きさ データ元AP22:AT23 タイトルAT21 グラフ12:O29:P39の大きさ データ元AU22:AY23 タイトルAY21 … 3群目(21行目〜 グラフ13:E48:F58の大きさ データ元V41:Z42 タイトルZ40 グラフ14:G48:H58の大きさ データ元AA41:AE42 タイトルZ40 … という形を目指しております。 長くなりましたが宜しくお願い致します。 (TK) 2019/09/01(日) 23:23 ---- マナ様 返信有難うございます。 頂きましたコード試しました。 使用したところ Do Loop前のEnd withの3つ上 .ChartTitle.Formula = "=" & t0(1).Address(, , , True) この部分で 実行時エラー438 「オブジェクトは、このプロパティまたはメソッドをサポートしていません」が表示されます。 (TK) 2019/09/01(日) 23:31 ---- >どうにもDimやLoopなどはまだまだ馴染めません… 慣れるしかないです。 >現在グラフは1群あたり6つ作成 ということなら、こんな感じです。 ですが、 >「オブジェクトは、このプロパティまたはメソッドをサポートしていません」が表示されます。 これには対応していません。 (こちらで再現できないので) Sub test() Dim cht As Chart Dim t0 As Range, t As Range Dim p0 As Range, p As Range Dim ser As Series Dim y As Long, x As Long Set t0 = Range("V2:Z4") '最初のデータ範囲 Set p0 = Range("E10:F20") '最初のグラフ位置 On Error Resume Next ActiveSheet.ChartObjects.Delete On Error GoTo 0 Set cht = ActiveSheet.Shapes.AddChart( _ xlBarClustered, p0.Left, p0.Top, p0.Width, p0.Height).Chart With cht Set ser = .SeriesCollection.NewSeries ser.XValues = t0.Rows(2) ser.Values = t0.Rows(3) .ChartArea.Font.Size = 8 .SetElement msoElementLegendNone .SetElement msoElementDataLabelOutSideEnd .SetElement msoElementChartTitleAboveChart .ChartTitle.Formula = "=" & t0(1, 5).Address(, , , True) .Axes(xlValue).MaximumScale = 10 .Axes(xlValue).MinimumScale = 0 End With Do x = x + 1 'グラフ6個で、次群(19行下)へ If x > 6 Then y = y + 19 x = 0 End If '次データ(5列右)で、タイトルが空白なら終了 Set t = t0.Offset(y, 5 * x) If t(1, 5).Value = "" Then Exit Do '次グラフ位置は2列右 Set p = p0.Offset(y, 2 * x) With cht.Parent.Duplicate .Left = p.Left .Top = p.Top .Chart.SeriesCollection(1).XValues = t.Rows(2) .Chart.SeriesCollection(1).Values = t.Rows(3) .Chart.ChartTitle.Formula = "=" & t(1, 5).Address(, , , True) End With Loop End Sub (マナ) 2019/09/02(月) 21:19 ---- マナ様 返信有難うございます。 未だエラーから抜け出せていませんのでもう少し検証してみます。 (TK) 2019/09/03(火) 00:42 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201909/20190901165533.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional