Нужно подставить в определенную ячейку дату, которая берется из Access. Это нужно для того чтобы потом там вести расчет по формуле.
Проблема:
Дата проставляется но не в том формате что-ли. Т.е. Пока не войдешь в ячейку для редактирования, а потом не нажмешь Enter - формула не воспринимает данные из ячейки как дату.
Приведу часть кода, помогите найти ошибку или подскажите как сделать правильно:
- Код: Выделить всё
Dim AppExl As Excel.Application
Dim wb As Excel.Workbook
Dim rs As DAO.Recordset
Dim fl As Boolean
Dim i As Long, j As Long
' Вот от сюда берется дата для расчетов
Dim TDate As Date
TDate = CDate([Forms]![MainForm]![TodayDate])
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, , "Íåò Excel'ÿ, íåò ðàáîòû!"
Exit Sub
End If
AppExl.Visible = True
fl = False
End If
Set wb = AppExl.Workbooks.OpenXML("J:\_Documents\Øåñòîâ\Gko.xlt")
If wb Is Nothing Then
Err.Raise vbError + 1, , "Íåò êíèãè, íåò ðàáîòû!"
Exit Sub
End If
Dim strSql As String
strSql = ("SELECT DealGKO_Svodka.Id, DealGKO_Svodka.Emitent, DealGKO_Svodka.Date_Avr, DealGKO_Svodka.PriseAvr, DealGKO_Svodka.Doxodnost, " _
& "DealGKO_Svodka.Durachiy, DealGKO_Svodka.Quantity, DealGKO_Svodka.Value, DealGKO_Svodka.ValueNKD, " _
& "DealGKO_Svodka.Value_All, DealGKO_Svodka.ComisTP, DealGKO_Svodka.ComisBrok, DealGKO_Svodka.[Cupon%], " _
& "DealGKO_Svodka.TN, DealGKO_Svodka.Profit_aver, DealGKO_Svodka.Prise_Rinok/100 FROM DealGKO_Svodka;")
Set rs = CurrentDb.OpenRecordset(strSql)
rs.MoveFirst
With wb.Sheets(1)
While Not rs.EOF
For j = 1 To rs.Fields.Count
.Cells(i, j).Value = rs.Fields(j).Value
Next j
.Cells(i, j - 13).FormulaR1C1 = "=YM(RC" & CStr(j - 16) & ",RC" & CStr(j - 15) & ",RC" & CStr(j - 14) & ""
.Cells(i, j - 12).FormulaR1C1 = "=Durachiy(RC" & CStr(j - 16) & ",RC" & CStr(j - 15) & ",RC" & CStr(j - 13) & ", 365"
.Cells(i, j - 5).FormulaR1C1 = "=Kupon(RC" & CStr(j - 16) & ",RC" & CStr(j - 15) & ""
' Вот ячейка куда вставляется дата .Cells(i, j - 1).Value тоже не работает
.Cells(i, j - 1).Formula = "" & CDate(TDate) & ""
' Формула в которой она используется
.Cells(i, j - 3).FormulaR1C1 = "=YM(RC" & CStr(j - 16) & ",RC" & CStr(j - 1) & ",RC" & CStr(j - 2) & ""
Спасибо