Accessのテーブルに、Excelのデータをインポートすることはよくあります。
その際、インポートするExcelのフォーマットが整っていれば、割と簡単にインポートできます。
インポートするExcelブックにシートが一つしかない、もしくは複数のシートがあるが、一番左のシートをインポートする場合、そしてシートの一行目がヘッダ行となっていて、テーブルの列名と完全に一致する場合、次のようにインポートできます。
DoCmd.TransferSpreadsheet
acImport, acSpreadsheetTypeExcel9,
"テーブル名", "Excelファイル名", True
|
|
最後の「True」は、シートの一行目をヘッダ行とみなすことを示しています。
複数のシートを持つExcelブックの任意のシートをインポートしたい場合、また対象のシートの一行目がヘッダ行となっているが、テーブルの列名と一致していない場合などは、シート名とセル範囲(下記の例ではA列〜J列、2行目からデータの存在する行数まで)を指定して次のようにインポートできます。
DoCmd.TransferSpreadsheet
acImport, acSpreadsheetTypeExcel9,
"テーブル名", "Excelファイル名", False, "シート名$A2:J"
|
|
シートの一行目をヘッダ行とみなさない(False)代わりに、セル範囲の指定で2行目からをインポートします。
|
|