Может ли формат ячейки выполнять формулу для содержимого ячейки? - PullRequest
0 голосов
/ 18 июня 2020

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

В настоящее время я использую две ячейки:

A1 - это то место, где я ввожу дата «2020/05/26»

B1 возвращает значение, которое меня действительно интересует «= A1 + 60» ​​

Я отформатировал A1, чтобы скрыть текст, но в идеале я бы хотелось бы иметь одну ячейку, в которую я могу ввести текущую дату и изменить эту дату, добавив 60 дней.

Можно ли отформатировать ячейку для отображения желаемой (измененной) даты?

1 Ответ

0 голосов
/ 18 июня 2020

Этот макрос событий отслеживает ваши изменения в A1 . Он добавит 60 к любому значению, которое вы введете:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A1 As Range
    Set A1 = Range("A1")

    If Intersect(Target, A1) Is Nothing Then Exit Sub
    With A1
        If .Value = 0 Then Exit Sub
        If .Value = "" Then Exit Sub
        If Not IsNumeric(.Value2) Then Exit Sub
        Application.EnableEvents = False
            .Value = .Value + 60
        Application.EnableEvents = True
    End With
End Sub

Если вы:

  1. clear A1
  2. вставьте 0 в A1
  3. введите текст в A1

, тогда никаких действий не будет.

Действия выполняются только для дат и числа. Поскольку это код рабочего листа, очень легко установить и автоматически c использовать:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите «Просмотреть код» - появится окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте его в пробной версии рабочий лист.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более позднюю, чем 2003, вы должны сохранить файл как .xlsm, а не .xlsx

В удалить макрос:

  1. вызвать VBE windows, как указано выше
  2. очистить код
  3. закрыть окно VBE

Чтобы узнать больше о макросах в целом, см .:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735 (v = office.14) .aspx

Чтобы узнать больше о макросах событий (код рабочего листа), см .:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть включены, чтобы это работало!

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