Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Автор Тема: Копирование данных на другой лист при условии изменения значения в ячейке  (Прочитано 383 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Oleg Pronin

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Подскажите пожалуйста как в VBA сделать копирование определённых значений в строчке и значения в подшапке при условии что значение в данной строчке в колонке ПОСЛ.ЗАМЕНА изменится. Копироваться должно на другой лист в определённом порядке в пустую ниже строчку. Такой ЛОГ лист своего рода.
Табличку прилагаю.
« Последнее редактирование: 08.03.2018, 20:21:41 от Oleg Pronin »
Записан

boa

  • Глобальный модератор
  • Постоялец
  • *****
  • Уважение: +26/-0
  • Оффлайн Оффлайн
  • Сообщений: 466
  • Доброта спасет мир...

листинг модуля листа "обслуживание"
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'Worksheet_Change - событие листа которое происходит после изменения в ячейке
    If Target.Count > 1 Then Exit Sub   'если изменения произошли более чем в 1 ячейке, то выходим
    Dim iRow&: iRow = Target.Row
    Dim iCol&: iCol = Target.Column

    If iCol = 1 Or iCol = 5 Then    'выберите сами какие колонки мониторятся
        With ThisWorkbook.Sheets("история замен")
        'в Юнионе перечислите ячейки которые должны быть скопированы
            Application.Union(Cells(iRow, 12), Cells(iRow, 4)).Copy .Range("A" & .Range("A1").End(xlDown).Row + 1)
        End With
    End If
End Sub
« Последнее редактирование: 11.03.2018, 12:08:25 от boa »
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Oleg Pronin

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Спасибо за помощь, но вот в чём проблемка?

https://wampi.ru/image/dqwqXf
Записан

boa

  • Глобальный модератор
  • Постоялец
  • *****
  • Уважение: +26/-0
  • Оффлайн Оффлайн
  • Сообщений: 466
  • Доброта спасет мир...

Здравствуйте, 
подправил в своем сообщении.
Извините, не проверил, когда выкладывал
« Последнее редактирование: 12.03.2018, 23:46:12 от boa »
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Oleg Pronin

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

что же может быть, доверие в безопасности макроса выставлено.
Записан

boa

  • Глобальный модератор
  • Постоялец
  • *****
  • Уважение: +26/-0
  • Оффлайн Оффлайн
  • Сообщений: 466
  • Доброта спасет мир...

Даже не знаю что у вас за баг  :-\
попробуйте прописать все объекты явно
Option Explicit

' листинг [abbr=правой кнопкой мыши по ярлычку листа -> Исходный текст]модуля листа[/abbr] "обслуживание"
Private Sub Worksheet_Change(ByVal Target As Range)
'Worksheet_Change - событие листа которое происходит после изменения в ячейке
    If Target.Count > 1 Then Exit Sub   'если изменения произошли более чем в 1 ячейке
    Dim iRow&: iRow = Target.Row
    Dim iCol&: iCol = Target.Column

If iCol = 1 Or iCol = 5 Then    'выберите сами какие колонки мониторятся
    With ThisWorkbook.Sheets("история замен")
    'в Юнионе перечислите ячейки которые должны быть скопированы
        Excel.Application.Union(Me.Cells(iRow, 12), Me.Cells(iRow, 4)).Copy .Cells(.Columns(1).End(xlDown).Row + 1, 1)
    End With
End If
End Sub
Кстати, какая у вас версия Excel?

Прикладываю ваш файл с рабочим кодом.
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра
 



Темы без ответов

22.05.2018 11:38 Скрипт написать который допишет данные в файл 48
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 503
14.02.2018 10:11 Подготовить читабельную отчетность по платежам 499
23.01.2018 13:46 Найти вероятность повторной покупки 515
12.01.2018 23:56 Сделать отчет на Power BI (Dashboard) 685
06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 806
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 1008
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 2415
15.03.2017 15:45 автозамена картинок PowerPoint 1510
11.03.2017 13:43 Изменить нумерацию страниц 1738





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.097 секунд. Запросов: 107.