Getting SumIf values with VBA

Posted on 2010-11-17
Medium Priority
Last Modified: 2012-05-10
I have a number of formulas in Column AZ like this:

I'd like to have the option of using VBA to produce the same results. When I run this code below, I get all zeroes.  Is there a way to make this work?


Sub SumIfs()
    Dim cel As Range
    For Each cel In Range("AZ6:AZ10")
    Dim str As String
    str = cel.Offset(0, -4).Address
    cel = Application.WorksheetFunction.SumIf([AllConfigs], str, [AllJ])
    End Sub
    End Sub

Open in new window

Question by:gabrielPennyback
LVL 58

Accepted Solution

cyberkiwi earned 1000 total points
ID: 34161175
cel.formula = "=sumif(Allconfigs," & str & ",AllJ)"
cel.value = cel.value
LVL 23

Expert Comment

by:Michael Fowler
ID: 34161368

If you are using VBA why not just write the logic yourself for the function

The code below get a total for range A1:A20 where the value in the same row for Column B is equal to
the value in C1
Sub sumifs()

   Dim i As Integer, j As Integer
   Dim sumif As Long
   Dim test As Long
   test = Range("C1").Value
   For i = 6 To 10
      sumif = 0
      For j = 1 To 20
         If Range("B" & j).Value = test Then
            sumif = sumif + Range("A" & j).Value
         End If
      Range("AZ" & i).Value = sumif

End Sub

Open in new window

LVL 37

Assisted Solution

TommySzalapski earned 1000 total points
ID: 34161679
That's because in VBA code you use the actual ranges not the addresses.
cel = Application.WorksheetFunction.SumIf(Range("AllConfigs"), cel.Offset(0, -4).Text, Range("AllJ"))

I assume cel.Offset(0,-4) contains the condition (don't put quotes around it)

Author Closing Comment

ID: 34167660
Great answers, thanks.

Michael, I tried yours as-is and with several attempts at modification and couldn't get it to work. If it does indeed work, pls forgive me for leaving you out.

- John

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Microsoft's Excel has many features that most people will never need nor take advantage of.  Conditional formatting is one feature that you may find a necessity once you start using it.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question