Давно борюсь с записью формулы импорта из базы данных (=45+5 or =SUM(D20:D23))
в Excel. Моя проблема в том, что когда я импортирую формулу из базы данных в ячейку Excel, это необработанный текст из записи базы данных (=45+5 or =SUM(D20:D23))
.
Это нормально, но я не могу вычислить эту формулу. Я пробовал параметры в VBA после импорта из базы данных, например:
ActiveSheet.Calculate, Worksheets(1).Calculate, ActiveWorkbook.Calculate
Работает только один ручной вариант. Когда я устанавливаю ячейку с формулой и нажимаю ENTER.
Но я хочу автоматизировать этот процесс.
---- EDIT ---- Исходный код:
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