ユーザーがいくつかの行 (最大 100) を挿入できるように Excel ワークシートを作成しました。
一部のフィールドの値は、ドロップダウン リストから選択されます。
数式を 100 行すべてに配置しました。
問題は、ユーザーが挿入する行が 100 行未満の場合、アクセスでデータがインポートされないことです。この場合、残りの行からドロップダウン リストの数式を削除した場合にのみ、データがインポートされます。
アクセスでExcelデータをインポートするには、次を使用します。
DoCmd.TransferSpreadsheet [Transfer Type], [Spreadsheet Type], [Table Name], [File Name], [Has Field Names], [Range]
この問題を解決するにはどうすればよいですか?
編集
Remouの答えの後、私は試しました:
Private Sub import_Click()
Dim openDialog As FileDialog
Dim FileChosen As Integer
Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
On Error GoTo DoNothing
With openDialog
.title = "Import"
.AllowMultiSelect = False
.Show
End With
filename = openDialog.SelectedItems.Item(1)
Dim xl As Excel.Application
Dim wb As Excel.Workbook
Dim rng As Excel.Range
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Open(nomeFile)
c = wb.Worksheets("Sheet1").Range("1:1").end(-4161).Address
r = wb.Worksheets("Sheet1").Range("A:A").end(-4121).Row
ImportRange = "Sheet1!" & "A1:" _
& Replace(Mid(c, 1, InStrRev(c, "$")) & r, "$", "")
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, _
"ImportTable", filename, True, ImportRange
DoNothing:
If Err.Number = cdlCANCEL Then
End If
End Sub
しかし、 Dim xl As Excel.Applicationでデバッグエラーが発生しました