AccessVBA

VBAでエクセルのワークシートを追加

投稿日:


動画で楽にパソコンが身につく方法はこちら>>

VBAでエクセルブックを生成し、シートを追加する手順は以下のとおりです。

1 エクセルオブジェクトを生成する。

2 エクセルブックを生成する。

3 エクセルシートを挿入する。

4 エクセルブックを保存し、オブジェクトを終了させる。

エクセルブックを生成してシートを挿入するコードの一例は以下の通りです。

Dim filename As String
文字列型変数を宣言します。

filename = Forms!F_home2!顧客 & “_” & Format(CStr(Forms!F_home2!sday), “yymm”) & “.xls”
エクセルファイルをフォームの日付をもとに名前をつけます。

If Dir(pas & filename) = vbNullString Then
IF Dir (ファイル名)でそのファイルが存在するかを調べることが出来ます。
存在しなければvbNullStringという値を返します。

Dim objBook0 ‘ExcelBook
Dim objSheets0 ‘ExcelSheets
Dim objSheet0
Dim oApp0 As Object
Set oApp0 = CreateObject(“Excel.Application”)

oApp0.Workbooks.Add
oApp0.Application.Visible = False

上記でエクセルオブジェクトを宣言し、生成します。

‘filename = “調理指示書.xls”

‘確認ダイアログを表示させない
oApp0.DisplayAlerts = False

Set objBook0 = oApp0.ActiveWorkbook
Set objSheets0 = objBook0.Worksheets
objSheets0.Add count:=5

5つのシートをエクセルブックに挿入します。

Set objSheet0 = objBook0.Sheets(1)
With objSheet0
.name = “日計表”
End With

シート1には日計表という名前でシートを挿入します。
以下も同様です。

Set objSheet0 = objBook0.Sheets(2)
With objSheet0
.name = “食数表”
End With

Set objSheet0 = objBook0.Sheets(3)
With objSheet0
.name = “業者別金額”
End With

Set objSheet0 = objBook0.Sheets(4)
With objSheet0
.name = “業者別材料”
End With

Set objSheet0 = objBook0.Sheets(5)
With objSheet0
.name = “業者別日計”
End With

objBook0.SaveAs filename:=pas & filename
エクセルブックを保存します。

‘oApp.Workbooks(filename).Close SaveChanges:=True
objBook0.Close
oApp0.Quit

‘オブジェクトの解放
Set objBook0 = Nothing
Set objSheets0 = Nothing
Set objSheet0 = Nothing
Set oApp0 = Nothing

エクセルオブジェクトを終了し、開放します。

End If


動画で楽にパソコンが身につく方法はこちら>>

-AccessVBA

Copyright© エクセルVBA使い方入門 , 2023 All Rights Reserved Powered by STINGER.