正在更新 Excel sheet 单元格(单元格是一个下拉列表)

Updating Excel sheet cell (the cell is a dropdown list)

基本上我有一个模板 excel sheet,我将其复制到另一个目录。 我使用以下方式打开与新 sheet 的连接:

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &  excel_copy & ";Extended Properties=""Excel 8.0;HDR=No;"""
Set rsHoja = cn.OpenSchema(20)
hoja=rsHoja("Table_Name")
rsHoja.close
Set rsHoja = nothing  
Set rsHoja = Server.CreateObject("ADODB.Recordset")

从现在开始,我一直在成功地进行更新,例如:

sql =  " UPDATE [Hoja1$B2:B2] SET F1='"&VALUE&"'"
rsHoja.Open sql, cn

当我尝试对从列表(在同一个 sheet 中)获取值的单元格进行更新时出现问题

我一直收到错误消息:

Microsoft Access Database Engine error '80040e10' 

知道如何将值分配给列表中的单元格吗?我已经尝试了列表的名称 [值的单元格] 和其他方法,但我现在几乎是在尝试盲目地弄清楚它。 我也到处找了,没有运气。

更新 1:

我忘了说我的文件没有 headers 如果有帮助的话。

由于您正在使用 Microsoft.ACE.OLEDB.12.0 数据库引擎进行连接,

可能性:

1) 如果您使用 ,请确保您在 扩展属性 中使用 Excel 12.0 .xlsx 文件作为数据源

2) 如果您使用 ,请确保您在 扩展属性 中使用 Excel 8.0 .xls 文件作为数据源

查看此 URL 了解更多信息:

https://www.connectionstrings.com/excel/

所以我终于找到了问题...它与我的 SQL 或具有列表的单元格无关,问题是单元格被标记(在 excel sheet) 作为日期,但列表是一个字符串,所以每当我试图在上面写我的字符串时都会出现类型错误...将 excel 上的单元格更改为 string/general 修复了问题,单元格正确获取值。