Я пытаюсь вставить функцию в мой код VBA, чтобы заполнить ячейку только тогда, когда в другой ячейке есть данные

312
Kyle Hinkebein

Это мой код Он заполняет дату, когда я =Updating_Date(B5)набрал это в C5. Предполагается, что он должен заполнить ТОЛЬКО дату, когда данные присутствуют в B5, и удалить дату, когда данные отсутствуют. В настоящее время отображается дата независимо от того, что. Мне нужно написать в условии, чтобы он отображал ТОЛЬКО дату, когда данные присутствуют в столбце B.

Ниже то, что я набрал в модуле, благодаря другому пользователю, с =Updating_Date(B5)введенным в C5.

Function Updating_Date(dependent_cell as Range) As Date Updating_Date = Date End Function

Опять же, это отображает дату независимо от того, находятся данные в столбце B или нет.

Благодарю.

-2
Вы пробовали прибегать к помощи "VBA состояние"? Потому что этот сайт не является бесплатным сервисом написания макросов. TheUser1024 9 лет назад 0
Если мой вопрос был неуместным, я прошу прощения и удалю его. Я искал помощи или предложений к тому, что у меня было в данный момент. Я не осознавал, что просил о помощи, чтобы написать, что условие нарушает какие-либо правила. Kyle Hinkebein 9 лет назад 0
Этот сайт полностью посвящен тому, чтобы помочь вам написать это условие, но, возможно, вы должны попытаться продвинуться немного дальше. Если вы попытаетесь столкнуться с проблемой, это место, куда можно обратиться за помощью. Но это зависит от вас, чтобы сделать попытку. ;-) Однако вы уже получили ответ, но я думаю, что ваш вопрос не показывает достаточных усилий. Не беспокойтесь, не обижайтесь! Я полагаю, что вы бы выучили и получили бы больше пользы, пытаясь немного усерднее (и у вас уже было нужное слово для поиска: "условие"). TheUser1024 9 лет назад 0
Я ценю совет !! Я, честно говоря, немного в затруднении, чтобы заставить это работать, иначе у меня, вероятно, было бы даже немного больше. Как правило, у меня было бы больше времени для экспериментов и лучшего понимания, так как я бы предпочел учиться, а не просить раздаточные материалы ... Когда вы не привыкли к формулам или кодированию, это действительно сложно пытаться прыгнуть в него ... Kyle Hinkebein 9 лет назад 0

1 ответ на вопрос

1
Engineer Toast

Возможно, я не совсем понимаю ваш пример, но похоже, что вы могли бы просто использовать одну из следующих формул ячеек:

=IF(ISBLANK(B5),"",TODAY()) =IF(ISBLANK(B5),"",NOW()) =IF(ISBLANK(B5),"",Updating_Date(B5)) 

Если вы хотите сделать проверку в VBA, вот вариант:

Function Updating_Date(dependent_cell As Range) If LenB(dependent_cell.Value) > 0 Then Updating_Date = Date Else Updating_Date = "" End Function 

Не то, чтобы функция не могла вернуть дату, иначе она вернется 0вместо пробела. Я удалил это и добавил Ifусловие, которое возвращает пустое, если dependent_cellпустое.

Казалось, что это работает отлично, просто изменив формулу на `= IF (ISBLANK (B5)," ", Updating_Date (B5))`. Большое спасибо. Я на 100% новичок в использовании формул и особенно VBA .. Еще раз спасибо .. Kyle Hinkebein 9 лет назад 0