【问题标题】:Import formula from MS Access database to MS Excel将公式从 MS Access 数据库导入 MS Excel
【发布时间】:2020-07-11 09:58:35
【问题描述】:

我一直在努力将数据库(=45+5 or =SUM(D20:D23))中的公式记录导入Excel工作表。我的问题是当我从 Excel 单元格中的数据库中导入公式时,是来自数据库记录 (=45+5 or =SUM(D20:D23)) 的原始文本。

没关系,但我无法计算这个公式。从数据库导入后,我尝试了 VBA 中的选项:

ActiveSheet.Calculate, Worksheets(1).Calculate, ActiveWorkbook.Calculate

只有手动一个手动选项有效。当我使用公式设置单元格并按 ENTER 键时。

但我想自动化这个过程。

----编辑---- 原代码:

Sub GetDataFieldInfo()

  Dim conn As ADODB.Connection
  Dim rs As ADODB.Recordset
  Dim address_complete As String
  Dim address_column As Integer
  Dim address_row As Integer
  Dim j As Integer

db_file = ThisWorkbook.Path & "\Example_db.mdb"
  Set conn = New ADODB.Connection
  conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
      ";Data Source=" & db_file & _
      ";Persist Security Info=False"
  conn.Open

  Set rs = conn.Execute("SELECT * FROM Students")
  For i = 0 To rs.Fields.Count - 1
   
  address_complete = findCellAddress(rs(i).Name)
  address_row = Range(address_complete).Row
  address_column= Range(address_complete).Column

  rs.MoveFirst
j = 0
Do Until rs.EOF
    If InStr(1, rs.Fields(rs(i).Name), "=", 1) Then
    Cells(address_row + 1 + j, address_column).Formula = rs.Fields(rs(i).Name).Value
    Else
    Cells(address_row + 1 + j, address_column).Value = rs.Fields(rs(i).Name)
    End If
    j = j + 1
       rs.MoveNext
       Loop
  Next
      rs.Close
End Sub

【问题讨论】:

  • 您可以使用Worksheet.Function 方法和循环将单元格值从文本转换为公式?
  • @SamuelEverson 对于像=IF(AND(H11="";I11="");0;IF(N11="";0;IF(H11="";ROUND(I11/(1+DATA!$A$3)*N11;2);H11*N11)))这样的更复杂的公式我应该使用什么函数

标签: excel vba ms-access


【解决方案1】:

您可能正在做 Range("A1") = "=SUM(D20:D23)"。

您应该改为 Range("A1").value = "=SUM(D20:D23)"。

如果不是这样,请向我们展示您用于从 msaccess 导出到 excel 的 VBA 代码。会有很大帮助的。

【讨论】:

  • 感谢您的回复。最后经过 4 小时的互联网搜索,我找到了解决方案 Cells(row+ 1 + j, column).Formula = rs.Fields(rs(i).Name).Value
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多