VBA Поиск ячейки смещения на основе значения, выбранного в ComboBox - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть две рабочие тетради.SheetA содержит ComboBox, которые заполняются из диапазонов на SheetB.

Итак Combobox1.ListFillRange = SheetB!$A$2:$A$5

На SheetB Столбец B будет содержать связанное целое число IE:

+----------+----------+
| Column A | Column B |
+----------+----------+
|  Value1  |     5    |
+----------+----------+
|  Value2  |     7    |
+----------+----------+
|  Value3  |    12    |
+----------+----------+
|  Value 4 |    32    |
+----------+----------+

Если пользовательвыбирает Value2 из ComboBox1 ... Мне нужно найти значение в SheetB! $ B $ 3: $ B $ 3, которое в этом примере будет равно 7.

Я пытаюсь выяснить код, который можно разместить здесь:

Private Sub ComboBox1_Change()

End Sub

Для выполнения работы.

Спасибо за помощь У меня есть 6 часов неоплачиваемого времени, потраченного на попытки выполнить эту работу.(

1 Ответ

0 голосов
/ 16 ноября 2018

Поместите это в код позади SheetA

Используйте значение MyValue, как вам нужно

Это использует свойство ListFillRange ComboBox для ссылки на лист и диапазонданные ComboBox взяты из

Private Sub ComboBox1_Change()
    Dim ws As Worksheet
    Dim MyValue As Variant
    Dim ListRange As String
    Dim i As Long

    ListRange = ComboBox1.ListFillRange
    i = InStr(ListRange, "!")
    If i Then
        Set ws = ThisWorkbook.Worksheets(Left$(ListRange, i - 1))
    Else
        Set ws = Me
    End If
    MyValue = Application.VLookup(ComboBox1.Value, ws.Range(ListRange).Resize(, 2), 2, 0)

    Debug.Print MyValue

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