Я пытаюсь написать программу для выполнения следующих шагов:
- Находясь в ячейке M2, проверьте содержимое всех ячеек перед столбцом M в той же строке.
- Если какая-либо из ячеек перед столбцом M в той же строке пуста, не позволяйте пользователю вводить какое-либо значение в ячейку M2. RAther выдает пользователю сообщение о пустых данных.
- Создает отчет в ячейке N2 о недостающих данных (первая строка Excel имеет заголовки данных, содержащихся в столбцах)
Проблемы, возникающие до сих пор: Неопределенный цикл - я думаю, что при очистке содержимого цикл снова запускается, что вызывает эту проблему.
Я не уверен, хорош ли код конкатенации или нет.
Программа ниже:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$2" Then
MsgBox "1"
Call MyMacro
End If
End Sub
Sub MyMacro()
'If [OR(ISBLANK(A2:L2))] Then
If ISBLANK(A2) Then
MsgBox "2"
Range("N2").Select
ActiveCell.Value = N2.Value + A1.Value
'Range("M2").ClearContents
'MsgBox "3"
'this the message that pops up if any cell in the range is blank
End If
End Sub
Заранее спасибо за ответ...
Data Validation
является хорошей альтернативой, если дальнейшее кодирование измененияM2
не требуется. 08.11.2012