Вот образец (для ячейки D1).
Скажем, D1 имеет формулу, которая отображает время:
и мы хотим показать только минуты. Поместите следующий макрос событий в область кода рабочего листа:
Private Sub Worksheet_Calculate()
With Range("D1")
v = Minute(.Value)
f = .NumberFormat
If InStr(.NumberFormat, ";;;") > 0 Then
ActiveWorkbook.DeleteNumberFormat NumberFormat:=f
End If
.NumberFormat = Chr(34) & v & Chr(34) & ";;;"
End With
End Sub
Каждый раз, когда лист вычисляется, макрос корректирует формат D1, чтобы отображать только минуты. (код также удаляет предыдущие пользовательские числовые форматы, чтобы предотвратить вечный формат форматирования)
Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:
- щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
- выберите View Code - откроется окно VBE
- вставьте материал и закройте окно VBE
Если у вас есть какие-либо проблемы, сначала попробуйте на пробную версию.
Если вы сохраните книгу, макрос будет сохранен вместе с ней.
Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить макрос:
- вызвать окна VBE, как указано выше
- очистить код
- закройте окно 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
Макросы должны быть включены, чтобы это работало!