2015-07-30 3 views
1

Вот фрагменты двух рабочих листовSUMIF возвращение нулевой

Sheet1 - Totals

Sheet 2 - 2014-2015

Это код, который я на первый лист предназначен для изменения выбора выпадающего меню. Будет больше случаев, но моя проблема с SUMIF. В любое время столбец B на Sheet2 соответствует соответствующему столбцу A на листе2, столбце суммы C на Sheet2.

Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Intersect(Target, Range("D1")) Is Nothing Then 
    Select Case Range("D1") 
     Case "2014-2015": Cells(2, "B") = WorksheetFunction.SumIf(Worksheets("2014-2015").Range("B2:B22"), A2, Worksheets("2014-2015").Range("C2:C22")) 
     Case Else: Cells(2, "B") = 8 
    End Select 
End If 
End Sub 

Проблема заключается в том, что она всегда возвращается 0. В надежде на помощь как к правке коды, чтобы отобразить его надлежащее общее.

Спасибо,

ответ

2

Похоже, проблема со значением он пытается соответствовать, указанным только A2 в вашей Sumif формуле. Он не признает, что вы хотите сопоставить значение в ячейке A2. На него нужно будет ссылаться примерно на Worksheets("SummarySheet").Range("A2").Value, как и на другие параметры этой функции.

+0

++ Beat me to it :) –

+0

Это может помочь облегчить удар, чтобы узнать, что примерно половина из vba, которую я узнал, была поднята из ваших сообщений. Я включаю ваше имя пользователя во многие мои запросы, потому что ваши ответы всегда первоклассны. :) – padawan0007

+0

Честно говоря, я смирен :) –

Смежные вопросы