
Function ExcelDataImport()
'On Error GoTo エラー
Dim varac As Variant
Dim varxls As Variant
Dim strrange As String
varac = "社員ID" '
varxls = "Excelのパス" '
strrange = "社員ID!A1:H100" ' --- C
DoCmd.DeleteObject acTable, varac ' --- D
If MsgBox(strmsg, vbOKCancel) = vbOK Then
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
varac, varxls, True, strrange ' -- E
MsgBox "データ入力は、正常に完了しました。"
End If
Exit Function
End Function
こんなコードを書いてます。
これは、A1~H100までを取り込むコードですが、
A1から空白のセルまでよみこむコードの書き方が知りたいのです。
Excelからエクスポートしたほうがいいのはわかっていますが、
どうしてもACCESSからExcelをインポートしたいのです。
どんなコードを書けばいいのでしょうか?
No.2ベストアンサー
- 回答日時:
試してみて不都合がありましたか?
以下標準モジュールの場合です。
Sub 取り込みテスト()
'On Error GoTo エラー
Dim varAc As String
Dim varXls As String
Dim strRange As String
varAc = "社員ID" '
varXls = "e:\small.xls" '
strRange = "社員ID!A:C" ' --- C
If MsgBox("Ready?", vbOKCancel) = vbCancel Then
Exit Sub
End If
If DCount("*", "MSysObjects", "name='" & varAc & "' and type=1") = 1 Then '※
CurrentDb.Execute "DELETE * FROM " & varAc
'DoCmd.DeleteObject acTable, varAc ' --- D
End If
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
varAc, varXls, HasFieldNames:=True, Range:=strRange ' -- E
MsgBox "データ入力は、正常に完了しました。"
End Sub
毎回テーブルを削除するのはデータベースの肥大化につながりますので
削除クエリに替えてみました。---D
※でテーブルの有無を確認しています。
ただし、読み込むフィールド数(Excelの列数)が多くなったり
フィールド名(列名)が変わったりすると実行時エラーになります。
No.1
- 回答日時:
strrange = "社員ID!A1:H100" ' --- C
を
strrange = "社員ID!A:H" ' --- C
なら全行読み込んでくれますけど?
そういう事ではなく・・・かな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
派遣先での疎外感。
-
窓際社員に話しかけられて業務...
-
職場の飲み会で、ある社員だけ...
-
職場で空気のような存在になっ...
-
会社にどうしてお金が残らない...
-
会社の同じ課にずるい?人が一...
-
巨乳の同僚
-
派遣社員に直接注意
-
社員各位という言葉について
-
出戻り社員は一番下でしょ?? ...
-
「他」は「た」としか読まない...
-
社員への残業時間公開について
-
平社員の場合の役職名は?
-
Accessのエラーメッセージについて
-
職場で余り者扱いを受けていて...
-
月1くらいで休む派遣さんが、休...
-
社員がPCを壊した場合の対処方...
-
会社の互助会費について
-
派遣社員で社員から嫌われてい...
-
会社の人に勝手にLINE追加され...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
職場の飲み会で、ある社員だけ...
-
派遣先での疎外感。
-
巨乳の同僚
-
職場で空気のような存在になっ...
-
社員名簿で家族構成書くとこあ...
-
出戻り社員は一番下でしょ?? ...
-
社員各位という言葉について
-
会社の人に勝手にLINE追加され...
-
社員への残業時間公開について
-
会社の互助会費について
-
月1くらいで休む派遣さんが、休...
-
平社員の場合の役職名は?
-
妻が会社の男性と仲が良すぎる...
-
派遣社員に直接注意
-
帰り際になって急に話しかけて...
-
出世とかしたくないって人は中...
-
職場で余り者扱いを受けていて...
-
社内での呼び方に困っています。
-
自分にだけタメ口対応をされま...
-
初めまして。今週から新卒社員...
おすすめ情報
回答ありがとうございます。
今日は、A1:H20を読み込むとします。 このシートは顧客情報があるため、毎日データを削除します。
明日は、A1:H30を読み込むというようにしたいのです。