shg, I ended up using a lot of the code that you proposed and it worked in one instance, below:
Function InsertArrayFormula(r As Range, totalrisk As String)
Dim rSel As Range
Set rSel = ActiveWindow.RangeSelection
With Application
With r.Areas(1)
.Value = totalrisk
Application.Goto .Cells
End With
DoEvents
.SendKeys "{F2}^+~"
DoEvents
.Goto rSel
InsertArrayFormula = True
End With
End Function
Sub EOD_Total()
Const totalrisk As String = "=IF(SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1='EOD Summary'!RC[-2]," & vbLf & _
"IF(EOD!R2C3:R80C3=""F"",MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,EOD!R2C1:R80C1&EOD!R2C2:" & vbLf & _
"R80C2&EOD!R2C3:R80C3,0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1),EOD!R2C8:R80C8))=0," & vbLf & _
"SUM(IF(FREQUENCY(IF('EOD t-1'!R2C1:R80C1='EOD Summary'!RC[-2],IF('EOD t-1'!R2C3:R80C3=""F""," & vbLf & _
"MATCH('EOD t-1'!R2C1:R80C1&'EOD t-1'!R2C2:R80C2&'EOD t-1'!R2C3:R80C3,'EOD t-1'!R2C1:R80C1&" & vbLf & _
"'EOD t-1'!R2C2:R80C2&'EOD t-1'!R2C3:R80C3,0))),ROW('EOD t-1'!R2C1:R80C1)-ROW('EOD t-1'!R2C1)+1)," & vbLf & _
"'EOD t-1'!R2C8:R80C8))+RC[-1],SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1='EOD Summary'!RC[-2]," & vbLf & _
"IF(EOD!R2C3:R80C3=""F"",MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,EOD!R2C1:R80C1&" & vbLf & _
"EOD!R2C2:R80C2&EOD!R2C3:R80C3,0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1),EOD!R2C8:R80C8))+RC[-1])"
Debug.Print InsertArrayFormula(Range("C2"), totalrisk)
End Sub
However, when I tried the same thing with another formula, I receive a run time 1004 error message regarding the new constant, custrisk. I really appreciate all of the help so far and any insight here, would be a big help.
Thanks.
Function InsertArrayFormula(r As Range, custrisk As String)
Dim rSel As Range
Set rSel = ActiveWindow.RangeSelection
With Application
With r.Areas(1)
.Value = custrisk
Application.Goto .Cells
End With
DoEvents
.SendKeys "{F2}^+~"
DoEvents
.Goto rSel
InsertArrayFormula = True
End With
End Function
Sub EOD_Customer()
Const custrisk As String = "=IF(SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1='EOD Summary'!RC[-1]," & vbLf & _
"IF(EOD!R2C3:R80C3=""C"",MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3," & vbLf & _
"EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1)," & vbLf & _
"EOD!R2C8:R80C8))+SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1='EOD Summary'!RC[-1],IF(EOD!R2C3:R80C3=""M""," & vbLf & _
"MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3," & vbLf & _
"0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1),EOD!R2C8:R80C8))=0,SUM(IF(FREQUENCY(IF('EOD t-1'!R2C1:" & vbLf & _
"R80C1='EOD Summary'!RC[-1],IF('EOD t-1'!R2C3:R80C3=""C"",MATCH('EOD t-1'!R2C1:R80C1&" & vbLf & _
"'EOD t-1'!R2C2:R80C2&'EOD t-1'!R2C3:R80C3,'EOD t-1'!R2C1:R80C1&'EOD t-1'!R2C2:R80C2&" & vbLf & _
"'EOD t-1'!R2C3:R80C3,0))),ROW('EOD t-1'!R2C1:R80C1)-ROW('EOD t-1'!R2C1)+1),EOD t-1'!R2C8:R80C8))" & vbLf & _
"+SUM(IF(FREQUENCY(IF('EOD t-1'!R2C1:R80C1='EOD Summary'!RC[-1],IF('EOD t-1'!R2C3:R80C3=""M""," & vbLf & _
"MATCH('EOD t-1'!R2C1:R80C1&'EOD t-1'!R2C2:R80C2&'EOD t-1'!R2C3:R80C3," & vbLf & _
"'EOD t-1'!R2C1:R80C1&'EOD t-1'!R2C2:R80C2&'EOD t-1'!R2C3:R80C3,0))),ROW('EOD t-1'!R2C1:R80C1)-" & vbLf & _
"ROW('EOD t-1'!R2C1)+1),'EOD t-1'!R2C8:R80C8)),SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1=" & vbLf & _
"'EOD Summary'!RC[-1],IF(EOD!R2C3:R80C3=""C"",MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3," & vbLf & _
"EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1)," & vbLf & _
"EOD!R2C8:R80C8))+SUM(IF(FREQUENCY(IF(EOD!R2C1:R80C1='EOD Summary'!RC[-1],IF(EOD!R2C3:R80C3=""M""," & vbLf & _
"MATCH(EOD!R2C1:R80C1&EOD!R2C2:R80C2&EOD!R2C3:R80C3,EOD!R2C1:R80C1&EOD!R2C2:R80C2&" & vbLf & _
"EOD!R2C3:R80C3,0))),ROW(EOD!R2C1:R80C1)-ROW(EOD!R2C1)+1),EOD!R2C8:R80C8)))"
Debug.Print InsertArrayFormula(Range("B2"), custrisk)
End Sub
Bookmarks