2015-01-21 4 views
3

Я хотел бы сравнить значение 2 ячеек и посмотреть, совпадают они или нет. Я знаю, как это сделать на excel, но я не знаю, как поставить код vba.сравнить 2 ячейки в excel с помощью vba

вход & выход:

  1. Значение ячейки A1 уже в Excel.
  2. Вручную введите значение в ячейке B1.
  3. нажмите на кнопку button_click, чтобы узнать, одинаково ли значение на 2 ячейках или нет.
  4. шоу "Да" или "Нет" на ячейку C1

Excel формула:

=IF(A1=B1,"yes","no") 

ответ

0

Вы можете использовать функцию IIF в VBA. Это похоже на Excel IF

[c1] = IIf([a1] = [b1], "Yes", "No") 
+0

Спасибо! Этот код короткий и простой. – pexpex223

+0

Это не стандартная практика в VBA. Если вы пытаетесь сделать свой код переносимым, я бы предложил либо ответ Гэри о назначении кнопки, либо моем ответе на использование события onchange. – Chrismas007

2

Дайте этому попытку:

Sub CompareCells() 
    If [a1] = [b1] Then 
     [c1] = "yes" 
    Else 
     [c1] = "no" 
    End If 
End Sub 

Связать этот код кнопка.

+0

Спасибо Гэри. Большая помощь! – pexpex223

+0

@ pexpex223, вас вполне приветствуют! –

0
If (Range("A1").Value = Range("B1").Value) Then 
    Range("C1").Value = "Yes" 
Else 
    Range("C1").Value = "No" 
End If 
+1

Это не правильный синтаксис VBA. – Chrismas007

+3

Довольно точно это недопустимый код в * любом * языке. Похоже, вы смешали VBA и C#. И даже если синтаксис верен, это не делает то, что задает вопрос. – Kai

+0

Если (Range ("A1"). Value = Range ("B1"). Value) Тогда MsgBox ("Равно") Else MsgBox ("Не равно") End If – Eswin

0

Вот на изменение Sub (код должен идти в модуль листа). Он будет активировать только если изменить ячейку в столбце B.

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target is Nothing Then Exit Sub 
    If Target.Cells.Count > 1 Then Exit Sub 
    If Target.Column <> 2 Then Exit Sub 
    If Cells(Target.Row, 1).Value = Cells(Target.Row, 2).Value Then 
     Cells(Target.Row, 3).Value = "Yes" 
    Else 
     Cells(Target.Row, 3).Value = "No" 
    End If 
End Sub 

Для записи, это не использовать кнопку, но он выполняет свою цель расчета, если две ячеек равны в любое время вручную ввести данные в ячейки в Col B.

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