Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель 29.11.2024 от 29 ноября 2024, 13:41

Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 13:41
Как сделать так, чтобы данный макрос работал с умной таблицей.
Чтобы при удалении строки из умной таблицы и удалялась дата в ячейке "AR"?

Private Sub Worksheet_Change(ByVal Target As Range)
   For Each cell In Target   'проходим по всем измененным ячейкам
   If Not Intersect(cell, Range("G4:AK100";)) Is Nothing Then
     With Range("AR" & cell.Row)
        .Value = Now
        .EntireColumn.AutoFit
     End With
   End If
   Next cell
End Sub
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 13:45
Опишите словами, что должен делать макрос, без упоминания кода, который у вас уже есть.
Иначе я не могу понять задание.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 15:22
Спасибо за отклик.
На листе динамическая таблица, строки G4:AK20 заполняются данными, а в строках колонки AR автоматически заносится дата последнего изменения.

Проблема в том, что при удалении строки из умной таблицы дата из ячейки колонки AR не удаляется. В результате - пустая строка в таблице с последней внесённой датой.

Надо чтобы при удалении строки из таблицы удалялась дата из ячейки колонки AR. В таблице могут добавляться и удаляться строки.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 15:34
Как пользователь удаляет строку в умной таблице? Очищает ячейки строки или полностью удаляет строку?
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 16:28
Полностью удаляет строку.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 17:02
Столбец AR находится за пределами умной таблицы.
И что нужно сделать в столбце AR? также удалить строку или очистить ячейку?
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 17:56
Размер таблицы С4:ВI20 а изменения вводятся в ячейки С4:AK20. 
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 18:28
И что нужно сделать в столбце AR? Также удалить строку или очистить ячейку?
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 19:32
Выделяю строку в листе и удаляю.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 19:51
Умная таблица находится в G4:AK20.
А какой диапазон в столбце AR? AR4:AR20?
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 19:56
Может вам лучше сделать файл-пример и на нём пояснить?
Личные данные удалите из файла.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 20:27
Прикреплённый файл чисто для примера. Таблица большая с права есть скрытые ячейки.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 20:33
В этом файле столбец AR входит в состав умной таблицы.
Поясните на предоставленном примере, что вам нужно.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 20:57
Добавляю новую строку в таблицу, потом заполняю ячейки в новой строке G:AK в ячейке столбца AR вставляется дата.
Если приходится удалить строку таблицы то строка не удаляется а очищаются введенные данные а дата остаётся. Как добиться чтобы удалялась строка вместе с датой?
Даже если сначала очистить данные и дату, а потом удалить строку из таблицы в финале такой же результат.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 21:09
Вы вручную не можете удалить строку в умной таблице или с помощью макроса?
У меня получается вручную (без макроса) удалить строку в предоставленном вами файле.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 21:17
Удаляю в ручную, но строка не удаляется, а только удаляются все данные в строке. Строка остаётся с датой.   
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Посетитель 29.11.2024 от 29 ноября 2024, 21:32
Удаляю в ручную. При этом удаляются внесенные данные и остается пустая строка с датой в колонке AR.
Название: VBA Автоматическая вставка текущей даты в ячейку умной таблицы
Отправлено: Администратор от 29 ноября 2024, 21:55
Напишите последовательность действия, как вы удаляете строку.

Я удаляю двумя способами:
1) щёлкаю правой кнопкой мыши по D7 (или любой другой ячейке) - Удалить - Строки таблицы;
2) щёлкаю правой кнопкой мыши по заголовку строки (это в самом начале монитора) - Удалить.