I am having trouble with a Sum Countifs formula in VBA. I have tried Brackets and an array . Below is the Array attempt
Dim finRow As String
finRow = Sheets("Sheet1").Range("A500000").End(xlUp).Row
Sheets("Macro").Range("B51") = WorksheetFunction.Sum(WorksheetFunction.CountIfs(.Range("E2:E" & finRow), Array("Positions - Active Recruitment", "Positions - Not Actively Recruiting"), .Range("B2:B" & finRow), "=" & Sheets("Macro").Range("$E$3").Value, .Range("Y2:Y" & finRow), "=Contingent Worker", .Range("T2:T" & finRow), "=" & Sheets("Macro").Range("$D$3").Value))
Below is the Bracket attempt which gives me invalid character errors in VBA
Sheets("Macro").Range("B51") = WorksheetFunction.Sum(WorksheetFunction.CountIfs(.Range("E2:E" & finRow), {""=Positions - Active Recruitment"", ""Positions - Not Actively Recruiting""}, .Range("B2:B" & finRow), "=" & Sheets("Macro").Range("$E$3").Value, .Range("Y2:Y" & finRow), "=Contingent Worker", .Range("T2:T" & finRow), "=" & Sheets("Macro").Range("$D$3").Value))
Any help would be much appreciated. Thank you! Matt
Related
struggling to get the parenthesis in the right spot. this is formula in a specified range in vba macro
Range("C" & i).Formula = "=INDEX($C$1:$C$2,MATCH(" * "&TRIM(RIGHT(A" & i & ",LEN(A" & i & ")-FIND(" - ",A" & i & ")))&" * ",$A$1:$A$2,0),0)"
Your formula should be..
.Formula = "=INDEX($C$1:$C$2,MATCH(""*"" & TRIM(RIGHT(A8,LEN(A8)-FIND(""-"",A8)))& ""*"",$A$1:$A$2,0),0)"
I'm trying to do a VBA code to accomplish 2 things as follows:
Count how many characters there is on cell A1, using the formula LEN(A1) and one the last line, I'm trying to have the formula RIGHT(LEFT(A1;Q1-2);6) on cell J1
Please follow down my VBA code so far:
LR = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To LR
cel = "A" & i
cel2 = "P" & i
cel3 = "Q" & i
Range("P" & i).Formula = "=LEN(" & cel & ")"
Range("J" & i).Formula = "=RIGHT(LEFT(" & cel & "," & cel3 & "-" & 2 & ")," & 6 & ")"
Next i
It seems something silly what is missing, however, I couldnt manage to solve it so far
Thanks in advance
You’re missing a Right, and some other things
Range("J" & i).Formula = "=RIGHT(LEFT(" & cel & "," & cel3 & "-2), 6)"
I am trying to average a column but only if the value is greater than zero. I then want it to put the information in the next blank cell in that row.
The below code was working as a simple Average but I want it to exclude any values of zero from the above cells.
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGE(" & .Address & ":" & .End(xlDown).Address & ")"
End With
I Tried with the following code to have it as if the cell address is greater than zero. But it keeps giving me an error to debug?
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGEIF(" & .Address & ":" & .End(xlDown).Address & "," & Cell.Address & " > 0," & .Address & ":" & .End(xlDown).Address & ")"
End With
Any help would be great.
Thanks
Al
Your syntax for the formula is wrong.
You need to create a formula like
=AVERAGEIF(D2:Dxx, ">0")
So use this
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGEIF(" & .Address & ":" & .End(xlDown).Address & ","">0"")"
End With
I have used the below code to get the answer. I m getting the result at my required location but sum is not displayed.
Cells(lastrow, 2).Offset(3, 1).Value = "=Sumif(L4:L" & lastrow & "," & "NEW ALBERTSONS INC" & ",J4:J" & lastrow - 1 & ")"
Could some one help me how to sort it out.
Try this one:
Cells(lastrow, 2).Offset(3, 1).Formula = "=SUMIF(L4:L" & lastrow & "," & """NEW ALBERTSONS INC""" & ",J4:J" & lastrow & ")"
Some notes:
I'm using """NEW ALBERTSONS INC""" instead "NEW ALBERTSONS INC"
(you should escape your quotes when constucting excel formulas
through vba)
sum_range and criteria_range should have same dimmentsion, that's
why you should use L4:L" & lastrow and J4:J" & lastrow (or &
lastrow-1 for both ranges)
actually, you can slightly simplify your formula by changing "," & """NEW ALBERTSONS INC""" to ", ""NEW ALBERTSONS INC"""
I really appreciate if anyone could help; I've been working on this for a while...
I just want to define the formula of countif in a cell, here is the code:
Range("E" & PLrowstart).Formula = "= CountIf($B$PLrowstart:$B$PLrowend" & ",B2)"
PLrowstart and PLrowend are integer variables I set before the line. The range for count if is range("B" & PLrowstart & ":B" & PLrowend). I've also tried other ways, none worked...
TIA.
Range("E" & PLrowstart).Formula = "= CountIf($B$" & PLrowstart & ":$B$" & PLrowend & ",B2)"
Try this
Sub SetFormula()
PLrowstart = 2
PLrowend = 4
Range("E" & PLrowstart).Formula = "=CountIf($B$" & PLrowstart & ":$B$" & PLrowend & ",B2)"
End Sub