2014-10-31 5 views
0

У меня есть два листа Sheet1 и Sheet2. На Sheet1 У меня есть список ItemNumber, который мне нужно заполнить уровнем запасов (столбец East). Мне нужно вывести информацию из колонки East из Sheet2. Если столбец ItemNumber на листе2 содержит значение строки ItemNumber из sheet1, то суммировать все количество для East на Sheet1. Я попытался использовать функцию SumIf в своем коде VBA с помощью шаблона, но все мои значения возвращаются как 0 на Sheet1. Может ли кто-нибудь посоветовать, как исправить это? Очень ценитсяИспользование шаблона в функции SUMIF в VBA

На Лист1:

Item Number East 
WidgetA 
WidgetB 
WidgetC 
WidgetD 

Sheet2 данные:

Item Number East 
WidgetA-1   1 
WidgetA-2   2 
WidgetA-3   3 
WidgetB   2 
WidgetB-1   4 
WidgetC   1 
WidgetD-1  1 
WidgetD-2   1 

Мой код:

Dim i as Integer 
Dim ItemNumber, East As Double 

Do While Sheet1.Cells(i, 1).Value <> "" 

ItemNumber = Sheet1.Cells(i, 1).Value 
East = Application.WorksheetFunction.SumIf(Sheet2.Range("B:B"), """*" & ItemNumber & "*""", Sheet2.Range("Q:Q")) 
Sheet1.Cells(i, 4).Value = East 


i = i + 1 


Loop 

ответ

1

Не знаю, почему вы ищете в диапазонах вас, как и эти диапазоны не соответствуют вашему примеру. Я изменил диапазоны, объявил ItemNumber как String вместо Double, и дал «i» начальное значение 2 для учета заголовка столбца. У вас также, казалось, были дополнительные цитаты, предшествующие символу подстановки. Надеюсь это поможет.

Dim i As Integer 
Dim ItemNumber As String 
Dim East As Double 
    i = 2 
    Do While Sheet1.Cells(i, 1).Value <> "" 
     ItemNumber = Sheet1.Cells(i, 1).Value 
     East = Application.WorksheetFunction.SumIf(Sheet2.Range("A:A"), "*" & _ 
      ItemNumber & "*", Sheet2.Range("B:B")) 
     Sheet1.Cells(i, 2).Value = East 
     i = i + 1 
    Loop 
+0

вы избили меня до этого! – guitarthrower

+0

Через несколько секунд! Фу, это было очень близко. Я бы сказал, что мы оба были на что-то, потому что ответы, которые мы дали, практически идентичны. –

+0

Я просто сохранил оригинальные диапазоны (я предположил, что его детали были, несмотря на приведенные примеры) – guitarthrower

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