2016-01-27 3 views
0

Я новичок в excel visual basic, вам нужна какая-то помощь, так как вы искали через Интернет и не можете понять, что такое правильное кодирование.excel vb sum & copy range с критериями

Я хочу суммировать ежедневные продажи по первым критериям продавца - Robin & Ray от листа2 (диапазон данных) до листа1. Мне удалось сделать это и скопировать на 1/1, но не удалось скопировать остальную часть колокола с B, C, D ... (2/1,3/1 ...)

Во-вторых, если i хотите добавить второй критерий статуса, только подбирайте «Актив» в столбце C (sheet2), какой правильный код использовать?

Может ли кто-нибудь направлять меня в нужное место или кодирование? был бы очень признателен за вашу помощь.

Благодаря

enter image description here

+0

Вам нужно сделать это по коду, для этого возможны формулы. –

+0

Привет, у меня динамические ежедневные данные для обработки, поэтому я думал, что полезно использовать VB для автоматизации процесса одним нажатием кнопки. – robin

ответ

1

На мой взгляд, вы должны избегать использования VBA код для достижения этой цели, и использовать сводную таблицу вместо. То, как вы представить данные немного грязный, но:

  1. Преобразование диапазона в Лист2 в таблицу. Убедитесь, что вы включили заголовки.
  2. В меню «Таблица» добавьте сводную таблицу на новый лист.
  3. Справа от вашего экрана выберите Sales-person и перетащите его в поле «Строки».
  4. Затем выберите каждый из дней, которые хотите получить, и перетащите их в поле «Меры». Изменить с Количество до Сумма.

Вам нужно будет добавить новый день каждый раз, когда таблица будет обновлена, и я предполагаю, что это каждый день ... поэтому я бы предложил изменить структуру исходной таблицы, поэтому у вас есть одна колонка с датой каждой транзакции, а не с одним столбцом на дату.

+0

Привет, я нашел его слишком текстовым, чтобы использовать сводную таблицу, поскольку у меня есть динамические данные для обработки ежедневно, мне нравится идея кодирования VB и процесс автоматизации с помощью кнопки. Я хочу скопировать необработанные данные и вставить их в sheet2, есть более разнообразные исходные данные, я планирую вставлять их в sheet3, sheet4 позже ..... sheet1 - это сводный лист, щелчком кнопки он подытоживает все данные по критериям, например. продавцом, поэтому кодирование VB прервало весь ручной процесс. Спасибо – robin

+0

Привет, кто-нибудь знает, как настроить код ниже? Sub SUMIF() Sheet1.Range ("А2") = "Робин" Sheet1.Range ("С2") = Application.WorksheetFunction.sumif (Sheet2.Range ("B2: F6"), "Робин" , Sheet2.Range («D2: D6»)) Диапазон («A3») = «Луч» Sheet1.Range («C3») = Application.WorksheetFunction.sumif (Sheet2.Range («b2: F6»), «Ray», Sheet2.Range («D2: d6»)) End Sub – robin

+0

Автоматизация с использованием VBA - это, конечно, возможность, но код, который вы предлагаете, нужно будет менять каждый раз ... Вам понадобится использовать выражения, которые полагаются на относительные ссылки, а не на абсолюты. –

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