이계가 사용해도 그렇게 화내지 않는 그래프를 Excel로 그 2
문장의 매크로는 모두 「산포도가 선택 상태인 것」을 전제로 쓰고 있습니다.
자세한 사용법은 마지막 기사를 참조하십시오.
전회는 플롯 에어리어의 크기를 정돈해 배경을 하얗게 바르고, 축의 장식을 제외한다고 하는 매크로였습니다.
이번에는 그 외에도
1 제목, 축 이름, 범례 추가
2 모든 부품의 글꼴 정렬
3 마커를 깨끗이
의 3 기능을 넣고 싶습니다.
1 제목, 축 이름, 범례 추가
이 세 가지는 모두 비슷한 글쓰기가 됩니다.
첫 번째 줄에 제목 넣기를 설정하고 그 아래에 제목의 텍스트와 위치를 지정합니다.
.HasTitle = True
.ChartTitle.Text = "Title"
.ChartTitle.Top = 450
.ChartTitle.Left = 220
설치해 보았지만, 역시 필요 없게 된, 그런 때는 마지막에 이 1행을 추가.
.HasTitle = False
이 명령은 "보이지 않게"하는 대신 "지우기"와 같습니다.
따라서 그 아래의 줄에 제목 속성을 설정하려고하면 오류가 발생합니다.
축의 이름도 같은 형식으로 설정합니다.
' ----- 横軸の名前 -----'
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "yokojiku [mm]"
.Axes(xlCategory).AxisTitle.Top = 410
.Axes(xlCategory).AxisTitle.Left = 450
' ----- 縦軸の名前 -----'
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "tatejiku [mm^2]"
.Axes(xlValue).AxisTitle.Top = 180
.Axes(xlValue).AxisTitle.Left = 15
범례도 거의 같습니다. 계열 이름은 계열 수만 필요합니다.
' ----- 凡例 ----- '
.HasLegend = True
.SeriesCollection(1).Name = "Sub 1" ' 系列が複数あるときはコピペして(2), (3), (4)...を作ってください
.Legend.Top = 50
.Legend.Left = 520
2 모든 부품의 글꼴 정렬
라고는 해도, 1개 1개 지정하는 것이 무난한 생각이 듭니다.
제목
.ChartTitle.Font.Name = "century" ' タイトルのフォント
.ChartTitle.Font.Size = 15 ' タイトルのフォントサイズ
가로축, 세로축 이름
.Axes(xlCategory).AxisTitle.Font.Name = "century" ' 横軸名のフォント
.Axes(xlCategory).AxisTitle.Font.Size = 15 ' 横軸名のフォントサイズ
.Axes(xlValue).AxisTitle.Font.Name = "century" ' 縦軸名のフォント
.Axes(xlValue).AxisTitle.Font.Size = 15 ' 縦軸名のフォントサイズ
가로축, 세로축 스케일
.Axes(xlCategory).TickLabels.Font.Name = "century" ' 横軸スケールのフォント
.Axes(xlCategory).TickLabels.Font.Size = 12 ' 横軸スケールのフォントサイズ
.Axes(xlValue).TickLabels.Font.Name = "century" ' 縦軸スケールのフォント
.Axes(xlValue).TickLabels.Font.Size = 12 ' 縦軸スケールのフォントサイズ|
범례
.Legend.Font.Name = "century" ' 凡例のフォント
.Legend.Font.Size = 12 ' 凡例のフォントサイズ
그런데 자주,
.ChartTitle.Format.TextFrame2.TextRange.Font.Name
라고 하는 쓰는 방법도 보입니다. 내 환경에서는 그쪽도 움직입니다.3 마커를 깨끗이
마커의 속성에 대해서는, 버전이 다른 것에 의한 버그가 많다고 합니다. 그런 예감이 있습니다.
어쨌든 내가 가진 Excel이 이미 버그입니다.
마커는 계열별로 지정합니다. (1)과 붙어 있는 것은 계열 1의 설정을 의미합니다. 계열이 복수 있는 경우는 마찬가지로 (2)(3)(4)…가 필요합니다.
크기와 모양 지정
.SeriesCollection(1).MarkerSize = 2 ' サイズ 2~72
.SeriesCollection(1).MarkerStyle = xlMarkerStyle***
말미의 ***에는 Circle, Dash, Diamond, Dot, Plus, Square, Star, Triangle, X…등이 들어갑니다. 다만, Dot는 사이즈를 바꿀 수 없을지도 모릅니다.
색상 지정
.SeriesCollection(1).MarkerForegroundColor = RGB(255, 0, 0) ' マーカーの色
.SeriesCollection(1).MarkerBackgroundColor = RGB(255, 0, 0) ' マーカーの内側の色
둘 다 같은 색으로하면 간단해질지도 모릅니다.
그림자를 지우려면
.SeriesCollection(1).Format.Shadow.Visible = False
괜찮아야하지만, Excel은 버그가 있기 때문에
.SeriesCollection(1).Format.Shadow.Style = msoShadowStyleInnerShadow
로 「보이지 않게」하는 편이 잘 갑니다. 우리의 Excel은 Excel for Mac 2011입니다. 그런 것을 사용하는 것이 나쁘다는 설도 있지만 울음 울음
4 완료
전회 소개한 설정과 이번 소개한 3기능을 모두 정리한 매크로가 이쪽입니다.
수치를 재기록하거나, 필요없는 행을 「'」로 코멘트 아웃 하거나 해, 좋아하는 그래프를 만들 수 있습니다.
Sub SimpleGraph2()
' 散布図を作成し、選択した状態で実行してください。
' 動作確認環境:Excel fo Mac 2011 散布図>散布図(オプション無し)
With ActiveChart
' 外枠と内枠の位置です
.ChartArea.Height = 480
.ChartArea.Width = 600
.PlotArea.Height = 380
.PlotArea.Width = 480
.PlotArea.Top = 50
.PlotArea.Left = 50
' 背景色です
.ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)
.PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)
' 軸をシンプルにします
.Axes(xlCategory).HasMajorGridlines = False
.Axes(xlValue).HasMajorGridlines = False
.Axes(xlCategory).MajorTickMark = xlTickMarkNone
.Axes(xlValue).MajorTickMark = xlTickMarkNone
' ----- タイトル ----- '
.HasTitle = True
.ChartTitle.Text = "Title"
.ChartTitle.Top = 450
.ChartTitle.Left = 270
' ----- 横軸の名前 -----'
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "yokojiku [mm]"
.Axes(xlCategory).AxisTitle.Top = 430
.Axes(xlCategory).AxisTitle.Left = 430
' ----- 縦軸の名前 -----'
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "tatejiku [mm^2]"
.Axes(xlValue).AxisTitle.Top = 60
.Axes(xlValue).AxisTitle.Left = 20
' ----- 凡例 ----- '
.HasLegend = True
.SeriesCollection(1).Name = "Sub 1" ' 系列が複数あるときはコピペして(2), (3), (4)...を作ってください
.Legend.Top = 50
.Legend.Left = 520
' ----- フォントとフォントサイズ ----- '
.ChartTitle.Font.Name = "century" ' タイトルのフォント
.ChartTitle.Font.Size = 15 ' タイトルのフォントサイズ
.Axes(xlCategory).AxisTitle.Font.Name = "century" ' 横軸名のフォント
.Axes(xlCategory).AxisTitle.Font.Size = 15 ' 横軸名のフォントサイズ
.Axes(xlValue).AxisTitle.Font.Name = "century" ' 縦軸名のフォント
.Axes(xlValue).AxisTitle.Font.Size = 15 ' 縦軸名のフォントサイズ
.Axes(xlCategory).TickLabels.Font.Name = "century" ' 横軸スケールのフォント
.Axes(xlCategory).TickLabels.Font.Size = 12 ' 横軸スケールのフォントサイズ
.Axes(xlValue).TickLabels.Font.Name = "century" ' 縦軸スケールのフォント
.Axes(xlValue).TickLabels.Font.Size = 12 ' 縦軸スケールのフォントサイズ
.Legend.Font.Name = "century" ' 凡例のフォント
.Legend.Font.Size = 12 ' 凡例のフォントサイズ
' ----- マーカー ----- '
.SeriesCollection(1).MarkerSize = 2 ' サイズ 2~72
.SeriesCollection(1).MarkerStyle = xlMarkerStyleCircle ' 形状
' -------------------------------------------------------------------- '
' ----- .SeriesCollection(1).MarkerStyle = xlMarkerStyle*** ----------------- '
' ----- 末尾の***はCircle, Dash, Diamond, Dot, Plus, Square, Star, Triangle, X --- '
' ----- ただし、Dotはサイズを大きくできないかもしれません。--------------------- '
' -------------------------------------------------------------------- '
.SeriesCollection(1).MarkerForegroundColor = RGB(255, 0, 0) ' マーカーの色
.SeriesCollection(1).MarkerBackgroundColor = RGB(255, 0, 0) ' マーカーの内側の色
.SeriesCollection(1).Format.Shadow.Style = msoShadowStyleInnerShadow '影を隠す
.SeriesCollection(1).Format.Shadow.Visible = False '影を消す
' .HasTitle = False ' タイトルなしにできます。
' .Axes(xlCategory).HasTitle = False ' 横軸名なしにできます。
' .Axes(xlValue).HasTitle = False ' 縦軸名なしにできます。
' .HasLegend = False ' 凡例無しにできます。
End With
End Sub
실행 전
실행 후
5 향후 전망
・축의 스케일을 바꾼다
· 특수 축 설정
· 근사 곡선 추가
· 에러 바 추가
· 플롯의 값 표시
· 함수 곡선 추가
등입니다.
망설이자.
Reference
이 문제에 관하여(이계가 사용해도 그렇게 화내지 않는 그래프를 Excel로 그 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mori_toma/items/70d9e422b9a3ca88e8b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)