VBA для проверки ячеек и отображения значения, найденного на другом листе - PullRequest
0 голосов
/ 26 февраля 2019

В настоящее время работаю в Excel VBA впервые и собираюсь использовать командную кнопку, которая при нажатии проверяет значения в 3 ячейках, а затем отображает значение, найденное на другом листе в ячейке ниже.Пока у меня есть:

Private Sub CommandButton1_Click()
= IF cells(b,1).Value2 = "A"
And cells(b,2).Value2 = "OO"
And cells(b,3).Value2 = "<48"
Then calls(b,10).Value2 = Worksheets("Rates"). cells(b,4)
End Sub

Это была моя первая попытка, хотя она не работает и я не знаю, как двигаться дальше.Любая помощь с благодарностью

1 Ответ

0 голосов
/ 26 февраля 2019

Несколько замечаний:

  1. Это можно сделать с помощью объединенной строки и VLOOKUP (, если вы открыты для решения не VBA )
  2. Добавьте Option Explicit в начало вашего кода, это будет ловить опечатки вроде calls(b, 10)
  3. Вы не начинаете оператор If с =
  4. Правильный синтаксис для диапазонассылка на ячейки Cells(Row Index, Column Index) - у вас это задом наперед, но поскольку вы используете статические диапазоны, Range может быть немного более интуитивно понятным
  5. Попробуйте квалифицировать все объекты на листах.Обратите внимание, что ваш Cells не указывает, какой лист каждый раз.Будьте откровенны, и у вас меньше шансов на ошибки в будущем

Option Explicit

Private Sub CommandButton1_Click()

Dim ws as Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update

If ws.Range("B1") = "A" And ws.Range("B2") = "OO" and ws.Range("B3") = "<48" Then
    ws.Range("B10").Value = Worksheets("Rates").Range("B4").Value
End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...