Allleksey Пользователь Сообщений: 73 |
Коллеги, добрый день! Есть 2 ячейки. Предположим А1 и А2. |
ivanok_v2 Пользователь Сообщений: 712 |
#2 23.10.2018 12:58:03
как поставлено задачу, такое решение в стиле «Предположим»
Изменено: ivanok_v2 — 23.10.2018 12:59:47 |
||||||
DopplerEffect Пользователь Сообщений: 527 |
#3 23.10.2018 13:00:45 Вот этот код в модуль листа где это нужно.
|
||
Allleksey Пользователь Сообщений: 73 |
#4 23.10.2018 13:05:47
Вы простите меня великодушно…
Вопрос в том, что в файле большое количество ячеек, которое нужно очищать. И так же много ячеек, от которых зависит очистка данных. Понимаю, что криво объяснил… Уж не серчайте, пожалуйста. |
||||
vikttur Пользователь Сообщений: 47199 |
#5 23.10.2018 13:10:43
А это о том, что примера от Вас нет. |
||
Allleksey, https://www.google.ru/search?q=%D0%BA%D0%B0%D0%BA+%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%… Если нужно для многих ячеек, то в строке Range(«A2») = «» поменять на что то типа Range(«A2:B2») = «» и в строке Range(«A1») что то типа Range(«A1:B1») |
|
Allleksey Пользователь Сообщений: 73 |
#7 23.10.2018 13:23:28
Спасибо, обязательно.
«Прикрутил» код к странице. Изменение данных в ячейке D14 влечет очистку данных в ячейках D15-D20
Как дополнить код, что бы независимо от этой задачи контролировалось изменение данных в ячейке D21, и если изменение было, то очищались все ячейки D22-D27 Подумал, и сделал вот так. Направляю сюда для проверки, насколько криво я сделал без опыта:
Изменено: Allleksey — 23.10.2018 13:34:28 |
||||||||
Allleksey, вроде должно работать. По факту то желаемое делает код? |
|
Allleksey Пользователь Сообщений: 73 |
#9 23.10.2018 13:41:06
Да, делает. Сейчас транслирую подобный код на все ячейки, которые должны работать подобным образом. Спасибо огромное!!! |
||
Предположим, вы хотите очистить диапазон указанного содержимого ячейки, если значение другой ячейки изменилось, как вы можете это сделать? Этот пост покажет вам способ решения этой проблемы.
Очистить указанное содержимое ячейки, если значение другой ячейки изменяется с кодом VBA
Очистить указанное содержимое ячейки, если значение другой ячейки изменяется с кодом VBA
Как показано ниже, при изменении значения в ячейке A2 содержимое ячейки C1: C3 будет очищено автоматически. Пожалуйста, сделайте следующее.
1. На рабочем листе вы очистите содержимое ячейки на основе изменений другой ячейки, щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код из контекстного меню. Смотрите скриншот:
2. В дебюте Microsoft Visual Basic для приложений окна, скопируйте и вставьте под кодом VBA в окно кода.
Код VBA: очистить указанное содержимое ячейки при изменении значения другой ячейки
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing Then
Range("C1:C3").ClearContents
End If
End Sub
Внимание: В коде B2 — это ячейка, на основе которой вы очищаете содержимое ячейки, а C1: C3 — это диапазон, из которого вы очищаете содержимое. Пожалуйста, измените их по своему усмотрению.
3. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.
Затем вы можете увидеть содержимое диапазона C1: C3 очищается автоматически при изменении значения в ячейке A2, как показано ниже.
Статьи по теме:
- Как очистить содержимое поля со списком с кодом VBA в Excel?
- Как одновременно очистить содержимое и форматирование в ячейках в Excel?
- Как очистить содержимое именованного диапазона в Excel?
- Как очистить ограниченные значения в ячейках в Excel?
- Как очистить указанное содержимое ячейки при открытии и выходе из книги Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (38)
Оценок пока нет. Оцените первым!
Есть таблица со значениями. Нужно, когда я нажимаю delete в ячейке A1, автоматически очищать значения в ячейках H1 и Q1. Подскажите, пожалуйста, как это реализовать средствами VBA.
-
Вопрос заданболее трёх лет назад
-
1204 просмотра
Да, в excel есть события. Подстрой код Elvis под свой случай. Условие должно быть вроде if selection.column=1 and selection.value=»» then range(тут сам рэйндж).clearcontents
А постоянно селектить(выбирать) рейндж для удаления не нужно — это совершенно лишнее телодвижение.
Еще бы неплохо проверять выделение на количество ячеек.
Private Sub Worksheet_Change(ByVal Target As Range)
For Each t In Target
If t.Column = 1 And t.Value = "" Then
Range("H" & t.Row).ClearContents
Range("Q" & t.Row).ClearContents
End If
Next t
End Sub
Пригласить эксперта
А принципиально на delete?
Можно сделать так:
Sub del()
Dim row As String
row = ActiveCell.row
Range("H" & row).Select
Selection.ClearContents
Range("Q" & row).Select
Selection.ClearContents
Range("A" & row).Select
Selection.ClearContents
End Sub
После этого делаем назначение макроса например на Ctrl+k и нажимать эту комбинацию вместо delete. В макросе специально сделал сначала очистку ячейки в столбце «H» и «Q», а потом только в столбце «A». Это для того чтобы после выполнения макроса курсор был в столбце «A».
-
Показать ещё
Загружается…
16 апр. 2023, в 16:39
80000 руб./за проект
16 апр. 2023, в 14:44
4500 руб./за проект
16 апр. 2023, в 13:46
1000 руб./за проект
Минуточку внимания
Очистка ячеек при вводе в другую ячейку |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
На чтение 2 мин. Просмотров 18 Опубликовано 23.05.2021
Предположим, вы хотите очистить диапазон указанного содержимого ячейки, если значение другой ячейки изменилось, как вы можете это сделать? В этом сообщении будет показан способ решения этой проблемы.
Очистить указанное содержимое ячейки, если значение другой ячейки изменяется с кодом VBA
Очистить содержимое указанной ячейки, если значение другой ячейки изменяется с кодом VBA
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и уменьшите тысячи щелчков мышью каждый день!
Как показано ниже, при изменении значения в ячейке A2 содержимое ячейки C1: C3 будет очищено автоматически. Пожалуйста, сделайте следующее.
1. На рабочем листе вы очистите содержимое ячейки на основе других изменений ячейки, щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код в контекстном меню. См. Снимок экрана:
2. В открывшемся окне Microsoft Visual Basic для приложений скопируйте и вставьте ниже код VBA в окно кода.
Код VBA: очистить указанную ячейку содержимое при изменении значения другой ячейки
Примечание : в коде B2 – это ячейка, на основе которой вы очищаете содержимое ячейки, а C1: C3 – это диапазон, из которого вы очистите содержимое. Пожалуйста, измените их по своему усмотрению.
3. Нажмите клавиши Alt + Q , чтобы закрыть окно Microsoft Visual Basic для приложений .
Затем вы можете увидеть содержимое диапазона C1: C3 очищается автоматически при изменении значения в ячейке A2, как показано на скриншоте ниже.
Статьи по теме:
- Как очистить содержимое поля со списком с кодом VBA в Excel?
- Как очистить содержимое и форматирование одновременно в ячейках в Excel?
- Как очистить содержимое именованного диапазона в Excel?
- Как очистить ограниченные значения в ячейках в Excel?
- Как очистить указанное содержимое ячейки при открытии и выходе из книги Excel?