2

Это может быть вопрос для stackoverflow, я не уверен,

Я хотел бы знать, можно ли запрограммировать ячейку в Excel 2010 так, чтобы текст исчезал при нажатии на ячейку. Вид программирования, который вы применили бы к блоку ввода текста в HTML-форме.

Я хотел бы сделать это, поскольку мне требуется способ информирования пользователя о том, что поместить в ячейку. Мне известно, что комментарии могут сделать это эффективно, но я бы хотел, чтобы текст отображался без подсказок при наведении мыши или на кнопку Показать все комментарии.

Буду ли я использовать сценарии для этого? Или есть функция в Excel?

4 ответа4

3

Попробуйте эту тему на форуме: http://www.mrexcel.com/forum/excel-questions/184269-placeholder-text-disappear-when-cell-filled.html

msgstr "использовать проверку данных, чтобы при выборе ячейки отображалось краткое описание того, что должно быть в этой ячейке. Перейдите в Data\Validation\Input message и введите свой текст "

1

Вы можете очистить определенную ячейку с помощью метода SelectionChange() VBA.

Private Sub Worksheet_SelectionChange(ByVal ActCell As Range)
    Set TarCell = Sheets(1).[B3]
    If ActCell.Address = TarCell.Address Then TarCell.Clear
End Sub

Для этого примера напишите что-нибудь в нашу целевую ячейку [B3] и снова выберите ячейку.
Макрос будет выполняться при каждом новом выборе, сделанном пользователем. Затем он проверяет, является ли новая выбранная ячейка целевой ячейкой TarCell. Если да, очистите его текст по умолчанию.

1

Я думаю, что вы слишком продумали проблему. Excel уже имеет встроенные средства для этого.

Когда вы выбрали ячейку и начали печатать, текст, который уже был в ячейке, автоматически очищается. Он не очищается при клике, как хотелось бы, но все равно даст вам результат, который вы ищете.

В файле excel вполне допустимо иметь ячейку с надписью "Введите значение X здесь". Затем кто-то щелкает эту ячейку и начинает печатать. Нет необходимости в макросах или чем-то еще, что усложнит ваш документ и запутает ваших пользователей (люди будут удивлены и не будут доверять вашему документу, когда текст начинает исчезать каждый раз, когда они щелкают куда-то, и они могут забыть, что сказал ваш совет, когда они нажмут на кнопку). клетка).

Эту функциональность люди, использующие Excel, уже знают. Не нужно учить их чему-то новому.

0

Вы не можете сделать это с формулами, но вы можете сделать это с VBA для Excel.

Общая идея такова:

  1. У вас есть процедура для настройки вашего рабочего листа. Делая это, вы устанавливаете определенные ячейки, содержащие значения, которые будут служить подсказками. Эта процедура может быть вызвана одним нажатием кнопки, чтобы сбросить лист или скопировать его, например, на новый лист.
  2. Когда пользователи редактируют лист, то для тех ячеек, которые вы установили изначально (представьте, что они представляют собой диапазоны по 1 ячейке в каждой), вы определяете, что делать при изменении ячейки.

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("H5")) Is Nothing Then
          'this supposes on current worksheet the range of interest is H5
          'Your VBA code here
          'you will want to set range value to default value if it is empty string "" 
          'or do something else 
       EndIf 
    End Sub
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .