Как извлечь из листа a, умножить на коэффициент в листе b и вставить в лист c, включая предыдущие данные - PullRequest
0 голосов
/ 19 февраля 2020

я пытаюсь найти способ автоматизировать этот процесс. Я разбил его на следующие шаги, но не знаю, с чего начать. Код VBA - это небольшое изменение из макроса записи. Будем очень благодарны за любые рекомендации!

1) Проверьте, сколько городов, начиная с текущего месяца, на вкладке «Матрица запуска», this

2) Извлеките данные из «вкладки данных образца», this

3) умножьте данные (2) на количество начинающих городов, чтобы увидеть полное влияние количества городов X

4), и вставьте их в «Консолидированную вкладку». 'под правильным месяцем tab

Вкладка «Сводная информация» выглядит точно так же, как и вкладка «Пример данных», единственное отличие состоит в том, что она показывает сводное представление.

Код для первых 2 месяцев выглядит следующим образом :

'
' Macro2 Macro
'

'
    ActiveCell.FormulaR1C1 = _
        "=('Launch Matrix'!R2C4*'Small City Data'!R[-1]C+'Launch Matrix'!R3C4*'Medium City Data'!R[-1]C+'Launch Matrix'!R4C4*'Large City Data'!R[-1]C)"
    Range("C5").Select
    Selection.Copy
    Range("C3").Select
    Selection.End(xlToRight).Select
    Range("L5").Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Range("D5:L5").Select
    Range("L5").Activate
    ActiveSheet.Paste
    Range("D5").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = _
        "=('Launch Matrix'!R2C4*'Small City Data'!R[-1]C+'Launch Matrix'!R3C4*'Medium City Data'!R[-1]C+'Launch Matrix'!R4C4*'Large City Data'!R[-1]C)+('Launch Matrix'!R2C5*'Small City Data'!R[-1]C[-1]+'Launch Matrix'!R3C5*'Medium City Data'!R[-1]C[-1]+'Launch Matrix'!R4C5*'Large City Data'!R[-1]C[-1])"
    Range("D5").Select
    Selection.Copy
    Range(Selection, Selection.End(xlToRight)).Select
    ActiveSheet.Paste
End Sub

Я хочу, чтобы 20 февраля в сводной вкладке были включены запуски в феврале-20 (т. Е. Месяц 1 рев / затраты * количество запусков в феврале-20) и данные за 2 месяца по запускам января-20 (Месяц 2 рев / стоимость * количество запусков в январе-20) и так далее и тому подобное. Спасибо!

1 Ответ

1 голос
/ 19 февраля 2020

У меня нет времени на симуляцию всей вашей установки, так что вот уменьшенный пример, который должен дать вам несколько указателей.

Этот стоит прочитать.

Sub x()

Dim rLaunch As Range, c As Long

'table showing monthly totals of small etc
Set rLaunch = Worksheets("Launch").Range("C2").CurrentRegion
'remove headings so just have numbers
Set rLaunch = rLaunch.Offset(, 2).Resize(, rLaunch.Columns.Count - 2)

'loop through each column of table (months)
For c = 1 To rLaunch.Columns.Count
    'revenue
    'multiply small number by small revenue and add to same for medium and large
    Worksheets("Consolidated").Range("A3").Offset(, c).Value = _
        rLaunch(1, c) * Worksheets("Small").Range("B4").Offset(, c) + _
        rLaunch(2, c) * Worksheets("Medium").Range("B4").Offset(, c) + _
        rLaunch(3, c) * Worksheets("Large").Range("B4").Offset(, c)
Next c

End Sub

Стартовый лист

enter image description here

Маленький городской лист (средний и большой одинаковы) enter image description here

Сводный лист

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...