Excel - макрос для копіювання / вставки вибраного діапазону

Проблема

У мене є підсумок даних по місяцях в одному аркуші, а вихідні дані - в іншому аркуші. Замість створення декількох аркушів для моїх вихідних даних за кожен місяць, я хочу знищити дані попереднього місяця і замінити нові дані. Для цього мені доведеться скопіювати формули, які створили резюме, в інший стовпець (для нового місяця), а потім скопіювати і вставити значення зведених даних поточного місяця (тому, як тільки вихідні вихідні дані зміниться, це не змінить мій значення).

Приклад

 ABCD Jan Feb Mar Apr 1 5 6 7 

Я хотів би, щоб мій кінцевий результат виглядав так (наприклад, копіювати з A3: A6 і вставляти на B3. Потім наступного місяця він буде копіювати з B3: B6 і вставити на C3, і так далі).

 ABCD Jan Feb березень 1 1 5 5 6 6 7 7 

Jan та Feb є однаковими на даний момент, оскільки копіювання та вставлення відбудеться до заміни нових необроблених даних.

Сподіваюся, що це має сенс. У мене дуже мало знань у написанні VB, але вдається читати і розуміти прості. Чи може хто-небудь допомогти мені з макросом, який буде робити це автоматично?

Рішення

Цей макрос використовує вхідне поле, щоб запитати, який місяць ви оновлюєте. Використовуйте числові значення замість введення в місяці. Приклад: Jan. = 1, Feb. = 2, Mar. = 3. Я припускаю, що ви не хочете оновлювати січень, щоб макрос вийшов, якщо 1 введено в поле вводу (якщо він не буде оновлений з грудня, то ми можемо змінити ).

Сподіваюся, що це допомагає.

 Sub Update_Month () Dim answer Як варіант Dim jj = 3 answer = InputBox ("Який місяць ви оновлюєте?" & VbCrLf & _ "Ex: січень = 1, лютий = 2, березень = 3 і т.д.") Випадок 1 Вихід Суб'єкт 2 Для j = 3 до 6 Діапазон ("B" & j) = Діапазон ("A" & j) Далі j Справа 3 Для j = 3 до 6 Діапазон ("C" & j) = Діапазон ( "B" & j) Далі j Справа 4 Для j = 3 до 6 Діапазон ("D" & j) = Діапазон ("C" & j) Далі j Case 5 Для j = 3 до 6 Діапазон ("E" & j ) = Діапазон ("D" & j) Далі j Справа 6 Для j = 3 до 6 Діапазон ("F" & j) = Діапазон ("E" & j) Далі j Case 7 Для j = 3 до 6 Діапазон (" G "& j) = Діапазон (" F "& j) Далі j Справа 8 Для j = 3 До 6 Діапазон (" H "& j) = Діапазон (" G "& j) Далі j Справа 9 Для j = 3 6 Діапазон ("I" & j) = Діапазон ("H" & j) Далі j Справа 10 Для j = 3 до 6 Діапазон ("J" & j) = Діапазон ("I" & j) Далі j Case 11 j = 3 До 6 Діапазон ("K" & j) = Діапазон ("J" & j) Далі j Справа 12 Для j = 3 до 6 Діапазон ("L" & j) = Діапазон ("K" & j) Далі j Завершити вибір Завершити підпункт 

Зверніть увагу на це

Завдяки WutUp WutUp для цієї поради на форумі]

Попередня Стаття Наступна Стаття

Кращі Поради