Note: The other languages of the website are Google-translated. Back to English

Как изменить значение ячейки, нажав на ячейку?

Можно ли изменить значение ячейки, щелкнув ячейку в Excel? Например, когда вы щелкаете определенную ячейку A1, в первый раз отображается текст «Excel», если вы снова щелкаете A1, отображается текст «Word», а при нажатии этой кнопки отображается текст «Outlook». ячейка в третий раз. В этом случае значение в ячейке A1 будет повторяться от «Excel» к «Word», от «Outlook» к «Excel» …… как показано на следующем снимке экрана:

документ изменить значение нажатием 1

Измените значение ячейки, щелкнув ячейку с кодом VBA


стрелка синий правый пузырь Измените значение ячейки, щелкнув ячейку с кодом VBA

Чтобы выполнить эту задачу в Excel, вам может помочь следующий код VBA. Сделайте следующее:

1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите изменить значение ячейки, и выберите Просмотреть код из контекстного меню, а в открывшемся Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустой модуль:

Код VBA: измените значение ячейки, щелкнув ячейку:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Updateby Extendoffice
  Application.EnableEvents = False
  With Target
  If .Address = Range("A1").Address Then
    Select Case .Value
      Case "Excel"
        .Value = "Word"
      Case "Word"
        .Value = "Outlook"
      Case "Outlook"
        .Value = "Excel"
      Case Else
        .Value = "Word"
    End Select
  End If
  End With
  Range("A2").Select
  Application.EnableEvents = True
End Sub

документ изменить значение нажатием 2

Внимание: В приведенном выше коде A1 - это ячейка, в которой вы хотите изменить значение, нажав "Excel","Word","Outlook»- это значения ячеек, которые вы хотите отображать периодически, вы можете изменить их по своему усмотрению.

2. После вставки кода сохраните код и закройте окно. Теперь, когда вы щелкаете ячейку A1 в первый раз, сразу отображается текст «Excel», щелкните его еще раз, появляется текст «Word», текст «Outlook» отображается, если вы нажимаете его в третий раз, см. снимок экрана:

документ изменить значение нажатием 1


Еще статьи по теме:

Как отфильтровать данные, просто щелкнув содержимое ячейки в Excel?

Как отсортировать данные столбца, щелкнув заголовок в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (7)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Я пытаюсь применить это ко всему столбцу отдельных ячеек, а не только к одной ячейке. Это возможно? Когда я меняю диапазон с «A1» на «A1: A100», ничего не происходит, когда я щелкаю ячейки в этом диапазоне.
Этот комментарий был сведен к минимуму модератором на сайте
Я сделал это, но я никому не скажу МУВАХАХАХАХАХАХАХАХА
Этот комментарий был сведен к минимуму модератором на сайте
Вы можете сделать это, объявив диапазон, который вы хотите иметь, как KeyCells, а затем поместить его в метод Application.Intersection. Это позволит вам изменить значение по вашему выбору из всех ячеек. Сработало для меня, но я плохо объясняю ^^

Dim KeyCells как диапазон

Установите KeyCells = Диапазон ("A1: A100")

Если не Application.Intersect(KeyCells, Range(Target.Address)) ничего не значит, тогда

Выберите Дело .Значение

...
Этот комментарий был сведен к минимуму модератором на сайте
Вы можете сделать это, объявив диапазон, который вы хотите иметь, как KeyCells, а затем поместить его в метод Application.Intersection. Это позволит вам изменить значение по вашему выбору из всех ячеек. Сработало для меня, но я плохо объясняю ^^


Application.EnableEvents = False
С целью


Dim KeyCells как диапазон

Установите KeyCells = Диапазон ("A1: A100")

Если не Application.Intersect(KeyCells, Range(Target.Address)) ничего не значит, тогда

Выберите Дело .Значение

...
Этот комментарий был сведен к минимуму модератором на сайте
Это последний код, который сработал для меня. Я использую его для проверки ячейки, когда элемент завершен.
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  Application.EnableEvents = False
    С целью
      Dim KeyCells как диапазон
      Установите KeyCells = Диапазон ("D6: D8000")
      Если не Application.Intersect(KeyCells, Range(Target.Address)) ничего не значит, тогда
        Выберите Дело .Значение
          Корпус "ю"
            .Значение = ""
          Случай ""
            .Значение = "ü"
        End Select
      End If
    Конец с
  Application.EnableEvents = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Этот комментарий был сведен к минимуму модератором на сайте
Это отличная информация, спасибо всем за участие! Можно ли применить тот же подход со значением поиска или индекса\сопоставления?

Например, если я нажму на значение в A1, можно ли настроить VBA для индексации этого значения в другом столбце листа и отображения совпадающего значения в B1? Еще раз спасибо!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL