Это значение расчитывает так:
- Код: Выделить всё
Dim AppExl As Excel.Application
Dim wb As Excel.Workbook
Dim rs, ms As DAO.Recordset
Dim fl As Boolean
Dim i As Long, j As Long
i = 1
fl = True
Set AppExl = GetObject(, "Excel.Application.10") 'Excel.Application.10")
If AppExl Is Nothing Then
Set AppExl = CreateObject("Excel.Application")
If AppExl Is Nothing Then
Err.Raise vbError + 1,
Exit Sub
End If
AppExl.Visible = True
fl = False
End If
Set wb = AppExl.Workbooks.Add
If wb Is Nothing Then
Err.Raise vbError + 1,
Exit Sub
End If
Dim strSql, strEmt As String
strSql = ("SELECT Doxod.Id, Doxod.Emitent, Doxod.Date, Doxod.DateNR, Doxod.Cupon_Value, Doxod.DiskontP, Doxod.PriseNKD FROM Doxod")
Set rs = CurrentDb.OpenRecordset(strSql)
rs.MoveFirst
With wb.Sheets(1)
While Not rs.EOF
rs.Fields.Count-1
For j = 1 To rs.Fields.Count
.Cells(i, j).Value = rs.Fields(j - 1).Value
Next j
.Cells(i, j - 2).FormulaR1C1 = "=RC[-1]/(1+(R1C" & CStr(j) & "/100))^(RC[-2]/365)"
rs.MoveNext
i = i + 1
Wend
.Cells(i, j - 2).FormulaR1C1 = "=SUM(R[-" & CStr(i - 1) & "]C:R[-1]C)"
.Cells(i, j - 1).FormulaR1C1 = "=R[-1]C-RC[-1]"
.Cells(i, j - 1).GoalSeek Goal:=0, ChangingCell:=.Cells(1, j) ' Range("H2")
rs.MoveFirst
i = 1
While Not rs.EOF
rs.Edit
rs.Fields("DiskontP").Value = .Cells(i, j - 2).Value
rs.Update
rs.MoveNext
i = i + 1
Wend
End With
wb.Close False
Set wb = Nothing
If Not fl Then
AppExl.Quit
End If
Set AppExl = Nothing
Полученное значение должно присваиваться определенной ячейке в основной таблице по которой шел пересчет.
Так вот проблема у меня заключается в том, чтобы организовать пересчет по каждой ячейке. Чтоб код перебирал все значения пока не заполнил все ячейки в основной таблице. Может быть решение кроется в правильном задании SELECT из таблицы Doxod. Но это таблица обновляемая и пересчитывается при вызове данного кода.
Я приложу базку с запросами и таблицами. Если кто захочет посмотреть. Это мой первый опыт написания целой быза, так что она я уверен кривая и наверняка есть куча методов по совершенствованию - если будут предложения, я все выслушаю и применю. Особенно по расчет данных что приведены выше.
Очень расчитываю на помощь. Иначе мне крантец.