Добавить дни к датам, кроме пятницы vba - PullRequest
1 голос
/ 04 марта 2020

Я использую электронную таблицу Excel для заполнения 6-дневного календаря ротации (Дни 1-6). В случае снежного дня мы возобновляем следующий школьный день по расписанию снежного дня. Я пытаюсь написать vba, чтобы добавить 1 день ко всем выделенным (я вручную выделяю) датам, если только это не пятница, а затем добавить 3.

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

Sub Add_Day_To_Range()

Dim c As Range
Dim Wkday As Integer
Wkday = Weekday(#1/6/2020#, vbMonday)

    For Each c In Selection.Cells
      If Wkday = 5 Then
      c.Value = c.Value + 3
      Else: c.Value = c.Value + 1
      End If
    Next c

End Sub

1 Ответ

2 голосов
/ 04 марта 2020

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

Sub Add_Day_To_Range()

Dim c As Range
Dim Wkday As Integer

For Each c In Selection.Cells
  Wkday = Weekday(c.Value, vbMonday)
  If Wkday = 5 Then
  c.Value = c.Value + 3
  Else: c.Value = c.Value + 1
  End If
Next c
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...