(4-1)長いので(4-1)と(4-2)(4-3)に分割して投稿します
※4-1)の部分は変数の宣言部分となります
'エクセルファイルをACCESSのテーブルにとりこむための
'コールプロシージャー
Private Sub callExceltable()
On Error Resume Next
'エクセルのアプリケーションをNewキーワードで実体化(インスタンス化)する
Dim myXlApp As Excel.Application
Set myXlApp = New Excel.Application
'エクセルのワークブックを
'共通変数[vrtSelectedItem]で取得した取りこみするエクセルを
'選択してオブジェクトを生成する
Dim myXlWorkbook As Excel.Workbook
Set myXlWorkbook = myXlApp.Workbooks.Open(vrtSelectedItem)
'エクセルのワークシートを生成する
'Sheet1のワークシートを指定して読み込む準備を整える
Dim myXlWorksheet As Excel.Worksheet
Set myXlWorksheet = myXlWorkbook.Sheets("Sheet1") '読み込むシート名を指定
'エクセルの最終行の値を取得する変数
Dim myLastRow As Long
'エクセルシート入力している最終行を取得
'セル番地[A]に入力している最終行を取得して変数へ代入する
myLastRow = myXlWorksheet.Cells(myXlWorksheet.Rows.Count, "A").End(xlUp).Row
'※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
'番地は固定
'エクセル番地[A1]の値を代入
myNo = myXlWorksheet.Cells(1, 1).Value
'エクセル番地[H2]の値を代入(発注番号)
myOrderNo = myXlWorksheet.Cells(2, 8).Value
'※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
'ADO経由で取り込みテーブルにエクセルデータを転記する
'VBエディターのツールの参照設定で
'microsoft ActivX Data object 6.1llibraryにレ点を入れる
'ADOの接続のオブジェクトの宣言を行う
Dim cn As ADODB.Connection
'ADOのレコードセットの宣言を行う
Dim rs As ADODB.Recordset
'現在のACCESSのテーブルに接続する
Set cn = CurrentProject.Connection
'レコードセットのインスタンスをNewキーワードで生成する
Set rs = New ADODB.Recordset
'取り込みをおこなう[orderCapture]テーブルを開く
rs.Open "orderCapture", cn, adOpenKeyset, adLockOptimistic
'※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
'取り込むテーブル[orderCapture]に今回取り込むエクセルデータが
'あるかを照合する
'[コンボBOXの発注者ID]+[受注番号]+[No]を結合した管理番号が
'テーブルに存在すれば、取り込み済みと判断する
'変数を増やしたくないので配列変数で対応する
'unionFormatNo(0)はフォーマットして取り込む文字列を生成する
'[コンボBOXの発注者ID]+[受注番号]+[No]を結合した管理番号
'例:[AA-1111-0001]
Dim unionFormatNo(2) As String
'ForNextステートメントのカウンター変数
'[i]はエクセルのファイルに登録してある件数をカウントする変数
Dim i As Long
'[j]はエクセルファイルを実際に登録した件数をカウント
'すでにあるデータは登録させないアルゴリズムを組んでいるので
'実際の件数をjの変数で取得させる
Dim j As Integer
'初期化しておく
j = 0
通報 ...