I know you want to do it from Access. I thought the code syntax would be workable from Access as well. I did a test and got this to work:
Dim oE As Excel.Application
Dim oW As Excel.Workbook
Dim oS As Excel.Worksheet
Set oE = CreateObject("Excel.Application")
Set oW = oE.Workbooks.Add
oE.Visible = True
ActiveCell = "=IF(OR(Sheet1!$B$8 = 6, Sheet1!$B$8 = 7), 0, IF(Sheet1!$K$8 > 8, 8, Sheet1!$K$8))"
oW.Worksheets("Sheet1").Range("M8").Formula = "=IF(OR(Sheet1!$B$8 = 6, Sheet1!$B$8 = 7), 0, IF(Sheet1!$K$8 > 8, 8, Sheet1!$K$8))"
This also worked:
ActiveCell = "=IF($B$8=0, " & Chr(34) & Chr(34) & ", $K$8)"
oW.Worksheets("Sheet1").Range("M8") = "=IF(OR(Sheet1!$B$8 = 6, Sheet1!$B$8 = 7), 0, IF(Sheet1!$K$8 > 8, 8, Sheet1!$K$8))"
I don't think your use of FormulaR1C1 is correct:
http://www.excelforum.com/excel-prog...mula-r1c1.html
http://answers.microsoft.com/en-us/o...1-6151fbcaf20f