Использование SUMIF в VBA - PullRequest
       9

Использование SUMIF в VBA

0 голосов
/ 14 октября 2018

введите описание изображения здесь Мне нужна небольшая помощь с VBA для выполнения функции Sumif.

У меня есть файл, и мне нужно извлечь его из sheet2: используя обычные формулы, функциятаким образом: введите описание изображения здесь SUMIF (Sheet2! B: B; Sheet1! A: A; Sheet2! C: C) Однако, я хочу их в VBA, может дать эту небольшую силу:)

Я пробовал несколько вещей, но он всегда возвращает ноль.Затем следуйте критериям, чтобы получить помощь с новыми идеями

1 Ответ

0 голосов
/ 14 октября 2018

В формуле вашего листа используется «неявная ссылка» для Листа1!Обычно вы должны использовать

=SUMIF(Sheet2!B:B; Sheet1!A2; Sheet2!C:C)

... в Sheet1! C2 (или любой другой ячейке) и заполнять для Sheet1! A3, Sheet1! A4 и т. Д. В качестве критериев.Не существует «неявной ссылки», потому что вы явно ссылаетесь на одну конкретную ячейку в столбце листа Sheet1. Используя

=SUMIF(Sheet2!B:B; Sheet1!A:A; Sheet2!C:C)

... в качестве стандартной формулы, вы неявно ссылаетесь на ячейку в столбце A, которыйв той же строке листа, что и формула.Когда формула находится в строке 5, в качестве критерия указывается Sheet1! A5;когда она находится в строке 99, критерием становится Sheet1! A99.

Концепция «неявной ссылки» ( aka «предполагаемая ссылка») может быть легко продемонстрирована с помощью этого простого упражнения.

  1. Поместите 5, 10, 15, ... 40, 45, 50 в ячейки A1: A10.
  2. В любом неиспользуемом столбце справа выберите строку между1 и 10 и вставьте в формулу

    =a:a
    
  3. Результатом будет значение из столбца A в любой строке, в которую вы вводите формулу.

Без ячейки (в VBA, известной как Application.Caller) для предоставления неявной или предполагаемой строки формула становится запутанной в отношении того, на какую ячейку в столбце A неявно ссылаются.Используя приведенный выше упрощенный пример, VBA не имеет ссылки на строку, чтобы определить, как преобразовать A: A в ссылку на одну ячейку.Мое лучшее предположение в том, что он пытается ссылаться на Sheet1! A1 или Sheet1! A1048576 в качестве критерия.

Надеюсь, я достаточно объяснил эту концепцию.Комментарии приветствуются, и я постараюсь ответить.

...