Excel シートに新規データを追加する
Sub 新規データ追加() Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String Dim myCriArray(2) As String, i As Integer FileName = ThisWorkbook.Path & "\xls\DataBook.xls" myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;" & _ "Data Source=" & FileName '名前つき範囲「社員」をレコードごとの排他的ロックで開く myRS.Open "[社員]", myCon, adOpenStatic, adLockPessimistic '新規レコード追加 myRS.AddNew myRS!社員ID = "050" myRS!氏名 = "安藤 夏美" myRS!フリガナ = "アンドウ ナツミ" myRS!年齢 = "22" myRS!所属 = "営業2課" '変更を保存 myRS.Update myRS.Close: Set myRS = Nothing myCon.Close: Set myCon = Nothing End Sub
名前つき範囲「社員」
実行結果
新規レコードには既存レコードの書式が適用される。
ただし、対象ブックを開いたまま AddNew メソッドを実行した場合には、書式は反映されない。
名前付き範囲は自動更新される。
名前付き範囲の下のセルにすでに何か入力されていると、新規レコードを追加できないのでエラーとなる。
名前付き範囲の下のセルにデータが入力されている
エラーメッセージ