Contents
新しいワークシート・グラフ・またはマクロ シートを作成します。新しいワークシートがアクティブ シートになります。
BeforeとAfterを共に省略すると、作業中のシートの直前に新しいシートが追加されます。
矛盾がなくてもBeforeとAfterを同時に指定するとエラーが発生します。
- 構文
- Sheets = Sheets.Add( Before, After, Count, Type )
- 引数
- Before (Sheets オブジェクト = EMPTYPARAM)省略可
- 指定したオブジェクトのシートの直前に、新しいシートを追加します。
- After (Sheets オブジェクト = EMPTYPARAM)省略可
- 指定したオブジェクトのシートの直後に、新しいシートを追加します。
- Count (Integer = 1)省略可
- 追加するシートの数を指定します。既定値は、選択したシートの数です。
- Type (XlSheetType = xlWorksheet)省略可
- ワークシートの種類を指定します。
- 戻り値
- 追加したシートのSheets オブジェクト
Sheets オブジェクトを返すメソッド・プロパティ
- Sheets.Add メソッド
- アクティブなブック内のすべてのグラフシートを表すSheetsコレクションを返します。
- Application.Worksheets プロパティ
- アクティブなブック内のすべてのワークシートを表すSheetsコレクションを返します。
- Sheets.Add メソッド
- 新しいワークシート・グラフ・またはマクロ シートを作成します。新しいワークシートがアクティブ シートになります。
定数一覧
XlSheetType 列挙
名前 | 値 | 説明 |
---|---|---|
xlWorksheet | -4167 | ワークシート |
xlDialogSheet | -4116 | ダイアログ シート |
xlChart | -4109 | Chart |
xlExcel4MacroSheet | 3 | Excel バージョン 4 マクロ シート |
xlExcel4IntlMacroSheet | 4 | Excel バージョン 4 International Macro シート |
CONST xlWorksheet = -4167
CONST xlDialogSheet = -4116
CONST xlChart = -4109
CONST xlExcel4MacroSheet = 3
CONST xlExcel4IntlMacroSheet = 4
使い方
シート追加
引数をすべて省略した場合、アクティブシートの直前にシートを1枚追加します。
DIM Sheets = Excel.Sheets
Sheets.Add()
Countのみ値を指定した場合、アクティブシートの直前にシートを指定した枚数(例では2枚)追加します。
シートは1枚ずつ左側に追加されていきます。
DIM Sheets = Excel.Sheets
Sheets.Add(Count:=2)
FOR文で書き換えると以下のような処理になります。
DIM Sheets = Excel.Sheets
FOR i = 1 TO Count
Sheets.Add()
NEXT
先頭に追加
一番左のシートのインデックス番号は1なので、その直前(Before)に挿入することで先頭に追加することができます。名前付き引数のBefore:=は記述しなくても大丈夫です。
WITH Excel
DIM Sheets = .Sheets
Sheets.Add(Before:=.Worksheets(1))
ENDWITH
末尾に追加
一番右のシートのインデックス番号はシートの枚数に等しいので、Worksheets.Countで末尾のインデックス番号を取得することができます。その直後(After)に挿入することで末尾に追加することができます。
WITH Excel
DIM Sheets = .Sheets
Sheets.Add(After:=.Worksheets(.Worksheets.Count))
ENDWITH
追加したシート名の変更
シートを追加すると追加したシートがアクティブシートになるので、ActiveSheet.Nameで追加したシートの名前を変更します。
WITH Excel
DIM Sheets = .Sheets
Sheets.Add(After:=.Worksheets(.Worksheets.Count))
.ActiveSheet.Name = "追加シート"
ENDWITH
追加シートをアクティブにしない
Sheets.Addで追加されたシートはアクティブになりますが、追加する前にアクティブだったシートを取得しシートの追加後に再度元のシートをアクティブにします。
WITH Excel
DIM ActiveSheet = .ActiveSheet
DIM Sheets = .Sheets
Sheets.Add(After:=.Worksheets(.Worksheets.Count))
ActiveSheet.Activate
ENDWITH
プログラム実行例
2軸のグラフを作成する
使用関数
コロナのPCR検査実施人数のグラフを生成(Excel)
オープンデータ|厚生労働省のPCR検査実施人数のCSVデータを使用。
CONST xlLine = 4
CONST xlColumnClustered = 51
CONST xlMarkerStyleCircle = 8
CONST xlValue = 2
CONST xlSecondary = 2
DIM Excel = ExcelBoot("東京の気温と降水量(2019年).xlsx")
DIM SheetName = "Sheet1"
DIM Charts = Excel.Charts.Add
DIM Series
Charts.ChartArea.ClearContents
Series = Charts.SeriesCollection.NewSeries
WITH Series
WITH Charts.Axes(xlValue)
.HasTitle = TRUE
.AxisTitle.Caption = "気温[℃]"
ENDWITH
.ChartType = xlLine
.MarkerStyle = xlMarkerStyleCircle
.XValues = Excel.Worksheets(SheetName).Range("B5:B16")
.Values = Excel.Worksheets(SheetName).Range("C5:C16")
.Name = Excel.Worksheets(SheetName).Range("C4")
.Format.Line.ForeColor.RGB = 255
.MarkerBackgroundColor = 255
ENDWITH
Series = Charts.SeriesCollection.NewSeries
WITH Series
.ChartType = xlLine
.MarkerStyle = xlMarkerStyleCircle
.XValues = Excel.Worksheets(SheetName).Range("B5:B16")
.Values = Excel.Worksheets(SheetName).Range("D5:D16")
.Name = Excel.Worksheets(SheetName).Range("D4")
.Format.Line.ForeColor.RGB = 16711680
.MarkerBackgroundColor = 16711680
ENDWITH
Series = Charts.SeriesCollection.NewSeries
WITH Series
TEXTBLOCK
WITH Charts.Axes(xlValue)
.HasTitle = TRUE
.AxisTitle.Caption = "降水量[mm]"
ENDWITH
ENDTEXTBLOCK
.ChartType = xlColumnClustered
.XValues = Excel.Worksheets(SheetName).Range("B5:B16")
.Values = Excel.Worksheets(SheetName).Range("E5:E16")
.Name = Excel.Worksheets(SheetName).Range("E4")
.Format.Line.ForeColor.RGB = 10341600
.AxisGroup = xlSecondary
ENDWITH
//////////////////////////////////////////////////
// 【引数】
// path : 開くファイルのパス名
// 【戻り値】
// <a href="https://uwsc.jp/com/excel/" >Excel オブジェクト</a>
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
IFB path = "" THEN
Excel.Workbooks.Add
ELSE
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB FSO.GetParentFolderName(path) = "" THEN
path = GET_CUR_DIR + "\" + path
ENDIF
Excel.Workbooks.Open(path)
ENDIF
RESULT = Excel
FEND
結果


使用関数
気象庁のホームページから一月分の気温を取得しExcelでグラフを作成
CONST xlColumnClustered = 51
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Open("D:\Downloads\pcr_tested_daily.csv")
DIM Range = Excel.Range("A1").CurrentRegion
DIM Charts = Excel.Charts.Add() // Sheetsオブジェクト
WITH Charts
.ChartType = xlColumnClustered
.SetSourceData(Range)
ENDWITH
結果

使用関数
この記事は役に立ちましたか?
ご協力ありがとうございます。
参考文献
関連記事
- XLSHEET関数 (スクリプト関数)
- Excelシートを追加・削除する。
- Sheets オブジェクト
- 指定されたブックまたは作業中のブックにあるすべてのシートのコレクションです。
- Application.ActiveSheet プロパティ (Excel)
- Worksheet オブジェクト
- Sheets.Delete メソッド (Excel)
- シートを削除します。
- Sheets.Move メソッド (Excel)
- シートをブック内の他の場所に移動します。
- Sheets.Item プロパティ (Excel)
- シートコレクションから単一のシートを返します。
- Range.AddComment メソッド (Excel)
- 指定してセルにコメントを設定する。
- Worksheets.Add メソッド (Excel)
- 新しいワークシート、グラフシート、またはマクロシートを作成します。
- PageSetup オブジェクト
- Excel のシートの印刷設定を表すオブジェクトです。シートの用紙サイズ、余白、方向、印刷タイトルなど、印刷に関連する設定を管理するのに使用されます。
- Application オブジェクト
- Excel全体を表すオブジェクトです。Excel全体に対しての操作、設定変更をしたい場合に使います。