ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sumproject Run-time Error 13 (https://www.excelbanter.com/excel-programming/436427-sumproject-run-time-error-13-a.html)

DogLover

Sumproject Run-time Error 13
 
I have this code and am having trouble with the Sumproduct working. I get a
Run-Time Error 13 and Type Mismatch message? Can anyone help.

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")

Per Jessen[_2_]

Sumproject Run-time Error 13
 
Hi

I tried to split up your code a bit, and found that the line commented
out below is not needed:

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range
Dim MyFormula As String

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")
'mTimeCriteria = """" & mTimeCriteria & """"
MyFormula = "=SUMPRODUCT( --(" & mTimeRange.Address & "= """ &
mTimeCriteria & """), " & mQuestion1Range.Address & ")"
Result = Evaluate(MyFormula)

MsgBox Result

Hopes this helps.
....
Per


On 20 Nov., 13:52, DogLover
wrote:
I have this code and am having trouble with the Sumproduct working. *I get a
Run-Time Error 13 and Type Mismatch message? *Can anyone help. *

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")



Jacob Skaria

Sumproject Run-time Error 13
 
Try the below...You already have added double quotes ....mTimeCriteria = """"
& mTimeCriteria & """". So you can remove the double double quotes mentioned
within the evaluate()


MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "=" & _
mTimeCriteria & "), " & mQuestion1Range.Address & ")")

If this post helps click Yes
---------------
Jacob Skaria


"DogLover" wrote:

I have this code and am having trouble with the Sumproduct working. I get a
Run-Time Error 13 and Type Mismatch message? Can anyone help.

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")


Dave Peterson

Sumproject Run-time Error 13
 
Check one of your other messages.

DogLover wrote:

I have this code and am having trouble with the Sumproduct working. I get a
Run-Time Error 13 and Type Mismatch message? Can anyone help.

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")


--

Dave Peterson

DogLover

Sumproject Run-time Error 13
 
This is getting closer. Both your suggestions eliminated the Error message.
The formula is evaluating to 0. It should be 915 if I have everything
correct.

The formula in my spreadsheet which evaluated to 915 is:=SUMPRODUCT(
--(DataTime="First day of employment (Time 1)"),( DataQuestion1) )
Do you see something off in the way it is in the VBA format that would make
it correct?


"Jacob Skaria" wrote:

Try the below...You already have added double quotes ....mTimeCriteria = """"
& mTimeCriteria & """". So you can remove the double double quotes mentioned
within the evaluate()


MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "=" & _
mTimeCriteria & "), " & mQuestion1Range.Address & ")")

If this post helps click Yes
---------------
Jacob Skaria


"DogLover" wrote:

I have this code and am having trouble with the Sumproduct working. I get a
Run-Time Error 13 and Type Mismatch message? Can anyone help.

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")


Jacob Skaria

Sumproject Run-time Error 13
 
You need to specify that the address inclusive of sheet name.... as below

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

MsgBox Evaluate("=SUMPRODUCT( --(" & _
mTimeRange.Address(External:=True) & _
"= """ & mTimeCriteria & """), " & _
mQuestion1Range.Address(External:=True) & ")")

'OR' since you have only one condition you can use sumif() as below

MsgBox WorksheetFunction.SumIf(mTimeRange, mTimeCriteria, mQuestion1Range)


If this post helps click Yes
---------------
Jacob Skaria


"DogLover" wrote:

This is getting closer. Both your suggestions eliminated the Error message.
The formula is evaluating to 0. It should be 915 if I have everything
correct.

The formula in my spreadsheet which evaluated to 915 is:=SUMPRODUCT(
--(DataTime="First day of employment (Time 1)"),( DataQuestion1) )
Do you see something off in the way it is in the VBA format that would make
it correct?


"Jacob Skaria" wrote:

Try the below...You already have added double quotes ....mTimeCriteria = """"
& mTimeCriteria & """". So you can remove the double double quotes mentioned
within the evaluate()


MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "=" & _
mTimeCriteria & "), " & mQuestion1Range.Address & ")")

If this post helps click Yes
---------------
Jacob Skaria


"DogLover" wrote:

I have this code and am having trouble with the Sumproduct working. I get a
Run-Time Error 13 and Type Mismatch message? Can anyone help.

Dim mTimeCriteria As String
Dim mQuestion1Range As Range, mTimeRange As Range

mTimeCriteria = "First day of employment (Time 1)"
Set mTimeRange = Worksheets("Data").Range("DataTime")
Set mQuestion1Range = Worksheets("Data").Range("DataQuestion1")

mTimeCriteria = """" & mTimeCriteria & """"
MsgBox Evaluate("=SUMPRODUCT( --(" & mTimeRange.Address & "= """ & _
mTimeCriteria & """), " & mQuestion1Range.Address & ")")



All times are GMT +1. The time now is 05:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com