В настоящее время у меня есть 12 экземпляров рабочей книги - по одной на каждое из мест нашей компании. Есть несколько столбцов и одна строка для каждого дня месяца. Каждый день Менеджер местоположений заполняет 2 столбца, а остальные рассчитываются автоматически. Есть несколько "сложных" пользователей, которые отказываются вводить ноль во втором столбце, если для этого дня нет суммы, и они оставляют это поле пустым, что приводит к ошибкам во всей таблице.
В столбце A всегда будет значение для каждого дня, поэтому я хотел бы запустить макрос, когда пользователи нажимают кнопку сохранения, чтобы проверить значение в столбце A. Если есть значение, то это означает, что этот день прошел, и ДОЛЖНО быть значение в столбце D (даже если оно равно нулю).
Чтобы подвести итог, если столбец A не пуст, проверьте столбец D. Если оно пустое, заполните его нулем. Если оно не пустое, пользователь ввел значение, чтобы мы могли двигаться дальше. Когда он попадет в пустую ячейку столбца А, просто выйдите из всего процесса.
Я просматривал Интернет в течение нескольких дней, пытаясь понять это, и вот что у меня есть до сих пор:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim curCell As Range
'Labor Flow Sheet'.Select
For Each curCell in Range(A1:D31)
If curCell.Value = "" Then
<???????>
End If
Next curCell
End Sub
Я установил диапазон для всей области, однако я не уверен, как узнать, что цикл будет проверять только столбец A. Должен ли диапазон быть (A1:A31) вместо этого? Тогда как мне сказать, чтобы он пропустил в той же строке до столбца D, чтобы проверить это значение?
Я действительно ценю чью-либо помощь заранее. Я надеюсь, что окажу некоторую помощь в этом сообществе, отвечая на другие вопросы, где только могу!
еще раз спасибо