2013-06-04 5 views
1

Я довольно новичок в Excel VBA Macros, у меня есть проблема с циклом. Нужна помощь. Я описал весь процесс.Excel VBA Макросы: использование Loop для копирования разных значений столбцов из вкладки Source в 3 разных вкладки Excel

У меня есть вкладка Excel Excel под названием Shipper VP. Он имеет значения отгрузки разных месяцев для разных лет для трех разных людей по имени Джейсон, Кен и Стив.

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

Я хочу использовать петлю, для n = от 1 до 3; когда n = 1,

Я хочу создать дополнительный лист и переименовать его, скопировав имя человека с вкладки VP Shipper, в этом случае это значение B4. Итак, теперь создается дополнительный лист, который называется JASON.

После этого я хочу ввести разные значения на вкладке JASON.

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

Копировать значения B9: B17 (с вкладки VP Shipper) в значения ячейки D7: D15 (на вкладку JASON).
Копировать значения B19: B30 (с вкладки VP Shipper) в значения ячейки D16: D27 (на вкладку JASON).
Копировать значения B32: B43 (со вкладки VP Shipper) в значения ячейки D28: D39 (на вкладке JASON).
Копировать значения B45: B56 (со вкладки VP Shipper) в значения ячейки D40: D51 (на вкладке JASON).
Копировать значения B58: B69 (со вкладки VP Shipper) в значения ячейки D52: D63 (на вкладку JASON).

После этого на вкладке JASON вводится много других значений, и выполняется пучок вычислений и на основе значений в двух разных столбцах создается диаграмма с заголовком заголовка JASON, а диаграмма переименовывается как Jason.

Теперь в следующем цикле, п = 2,

Я хочу точно такую ​​же вещь для второго человека под названием Ken.

Я хочу создать второй лист и переименовать его, скопировав имя человека с вкладки VP Shipper, которое в этом случае является значением C4. Итак, теперь создается дополнительный лист, который называется KEN.

После этого я хочу ввести разные значения на вкладке KEN, которые точно так же, как я сделал для JASON.

Но теперь я хочу скопировать разные значения столбцов из вкладки VP отправителя на вкладку KEN.

Копировать значения C9: C17 (с вкладки VP отправителя) в значения ячейки D7: D15 (на вкладку KEN).
Копировать значения C19: C30 (со вкладки VP Shipper) в значения ячейки D16: D27 (на вкладку KEN).
Копировать значения C32: C43 (со вкладки VP отправителя) в значения ячейки D28: D39 (на вкладку KEN).
Копировать значения C45: C56 (с вкладки VP Shipper) в значения ячейки D40: D51 (на вкладку KEN).
Копировать значения C58: C69 (со вкладки VP Shipper) в значения ячейки D52: D63 (на вкладку KEN).

После этого на вкладке KEN вводится много других новых значений, и выполняется куча вычислений и на основе значений в двух разных столбцах создается диаграмма с заголовком заголовка KEN, а диаграмма переименовывается как Ken. (Эта часть такая же, как и до JASON).

Теперь, в следующем цикле, n = 3, я хочу получить то же самое для третьего человека по имени Стив (на этот раз все значения будут взяты из столбца D вкладки драйвера отправителя).

Я хотел полностью описать весь процесс. Любая помощь в коде цикла будет действительно оценена. В основном основная проблема заключается в копировании значений разных столбцов из Shipper VP на отдельные вкладки и приращение их в цикле. Расчеты могут быть выполнены.

+2

Есть ли у вас код для публикации? –

ответ

0
  1. Сделайте 3 вкладки, по одному для каждого VP.
  2. Настройте каждую вкладку, как вы хотите, с графиками и всем остальным. Не забудьте указать ссылку на вкладку Shipper VP (т. Е. Использовать =ShipperVP!A1) и не копировать ни одно из этих значений.

И на самом деле, это о нем. Никакой код не нужен, и вам нужно только сделать это один раз!

Принимая это шаг вперед, вы также можете сделать 3 отдельные файлы, так что вы можете отправить каждому человеку свою собственную вкладку:

  1. Написать макрос, чтобы открыть первую вкладку VP.
  2. Выбрать все
  3. Copy
  4. Paste значения (это избавляется от ссылок)
  5. Копировать вкладку в качестве нового в новую книгу
  6. Сохраните новую книгу с уникальным именем
  7. Repeat для следующего VP.

Чтобы сохранить повторяющийся код, вы можете поместить шаги 1-6 в функцию с именем VP в качестве параметра.

+0

Большое спасибо PowerUser за помощь. Код работает. Bye – user2453309

+0

Рад помочь. Не забывайте +1 или зеленый проверить любые полезные ответы, которые вы получаете в SO :) – PowerUser

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