I'm trying to enter formulas in cells using a macro in XL2007. It's working - until I come to one formula. Then I get "Application-defined or object-defined error".
I built the formula inside the worksheet, so I know it's acceptable and working as a worksheet formula. I think my problem came when I tried to add in Chr(34) as required to account for text values entered in the formula.
I've 'bout gone crazy trying to find my problem - if anyone can lend a fresh set of eyes, I would be most grateful.
The good formula in the worksheet:
=IF($H6<>"",IF(ISERROR(SEARCH($I6,RIGHT(DCPrefix,LEN(DCPrefix)-SEARCH(":",DCPrefix,1)),1)),"",IF(INDIRECT("R"&ROW()&"C"&COLUMN(StartRow)+1,FALSE)<>"",IF($H6="",IF(TODAY()>INDIRECT("R"&ROW()&"C"&COLUMN(StartRow)+1,FALSE),"Late","No Data"),IF($H6>INDIRECT("R"&ROW()&"C"&COLUMN(StartRow)+1,FALSE),"Late","Good")),"No Data")),"")
The formula in VBA that chokes:
"=IF($H6<>" & Chr(34) & Chr(34) & ",IF(ISERROR(SEARCH($I6,RIGHT(DCPrefix,LEN(DCPrefix)-SEARCH(" & Chr(34) & ":" & Chr(34) & ",DCPrefix,1)),1))," & Chr(34) & Chr(34) & ",IF(INDIRECT(" & Chr(34) & "R" & Chr(34) & "ROW()&" & Chr(34) & "C" & Chr(34) & "COLUMN(StartRow)+1,FALSE)<>" & Chr(34) & Chr(34) & ",IF($H6=" & Chr(34) & Chr(34) & ",IF(TODAY()>INDIRECT(" & Chr(34) & "R" & Chr(34) & "ROW()&" & Chr(34) & "C" & Chr(34) & "COLUMN(StartRow)+1,FALSE)," & Chr(34) & "Late" & Chr(34) & "," & Chr(34) & "No Date" & Chr(34) & "),IF($H6>INDIRECT(" & Chr(34) & "R" & Chr(34) & "ROW()&" & Chr(34) & "C" & Chr(34) & "COLUMN(StartRow)+1,FALSE)," & Chr(34) & "Late" & Chr(34) & "," & Chr(34) & "Good" & Chr(34) & "))," & Chr(34) & "No Date" & Chr(34) & "))," & Chr(34) & Chr(34) & ")"
(Note: DCPrefix and StartRow are named ranges in the worksheet.)
Ed