Изменение формата даты - VBA

Узнай цену своей работы

Формулировка задачи:

Всем хорошего дня! У меня такая проблема: Написал функцию расчёта срока изготовления изделия для этапов производства, в зависимости от общей даты Старта (А1) и Финиша (А2) Заказа, (К - коэффициент, зависящий от очерёдности этапа):
Листинг программы
  1. Public Function FSrok(ByVal A1 As Variant, ByVal A2 As Variant, ByVal K As Variant) As Date
  2. Dim A As Variant
  3. A = A1 - (A1 - A2) * K
  4. FSrok = A
  5. End Function
Эта функция возвращает мне дату в формате: 25.12.2015 23:02:24, а мне нужно просто: 25.12.2015. Как изменить формат даты? Пытаюсь с помощью доп переменной:
Листинг программы
  1. B=Format (A, "Short Date")
но это вообще не работает( Подскажите, что не так? Спасибо)

Решение задачи: «Изменение формата даты»

textual
Листинг программы
  1. Public Function IsEmptyDate(ByVal Value As Date) As Boolean
  2.     Dim EmptyDate As Date
  3.     If Value = EmptyDate Then IsEmptyDate = True Else IsEmptyDate = False
  4. End Function
  5.  
  6. Public Function FSrok(ByVal A1 As Date, ByVal A2 As Date, ByVal K As Single) As Date ' К - плавающей точкой (single), например 0,78, но вряд ли в этом дело
  7.    Dim A As Date
  8.         If Not IsEmptyDate(A1) Or Not IsEmptyDate(A2) Then
  9.             A = A1 - (A1 - A2) * K
  10.             B = FormatDateTime(A, vbShortDate) ' нужен короткий формат даты, к примеру 01.01.2011
  11.        End If
  12.         FSrok = B
  13. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут