2013-09-05 1 views
0

Мой первый пост здесь, поэтому я постараюсь сделать его максимально лаконичным.Excel Visual Basic - выполнение команды, если две ячейки в одном столбце заполнены

Мне нужно добавить некоторые функции в электронную таблицу, которая не может использовать проверку данных. Поэтому мне нужно, чтобы это было на Visual Basic.

Код должен запускаться при изменении листа, в диапазоне C4: SH5 (так что всего 2 строки, но много столбцов). Если две строки заполнены в одном столбце, тогда мне нужно выполнить логику для msgbox.

, например:

C4 & C5 <> "" then msgbox 

C4 = "" AND C5 <>"" then do nothing 

C4 <> "" AND C5 = "" then do nothing 
+0

Предположительно также 'C4 =" "И C5 =" "тогда ничего не делать', а для всех столбцов C до SH включительно, а условное форматирование не подходит? – pnuts

+0

Вы хотите проверить строки 4 и 5 во всех ячейках от col C до SH ....? Вы хотите только msgbox, если они такие же, или какой-нибудь код для запуска? – Vasim

ответ

0

Это способ сделать это:

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim myCol As Range 

For Each myCol In Worksheets("sheet1").Range("C4:SH5").Columns 
    If myCol.Cells(1, 1) <> "" And myCol.Cells(2, 1) <> "" Then 
    MsgBox "Both " & myCol.Cells(1, 1).Address & " and " & myCol.Cells(2, 1).Address & " are not empty" 
    End If 
Next myCol 

End Sub 

В основном перебирать столбцы в указанном диапазоне, и применить условие к клеткам в каждой колонке.

+0

Фантастический, работает как шарм. Очень ценю помощь! – Dominic

 Смежные вопросы

  • Нет связанных вопросов^_^