Найти соответствие и выходное значение VBA - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу выполнить поиск в каталоге данных (содержится в «Каталоге», и, если эти данные соответствуют элементу в ячейке «D3», я хочу вывести значение «Мобильный телефон» в ячейку «H3» в «Лист1»).

Вот с чем я работаю:

Sub VBAScanner()

    Dim productname As String
    Dim finalrow As Integer
    Dim i As Integer

    finalrow = Sheets("Catalogue").Range("J3000").End(x1UP).Row
    productname = Sheets("Sheet1").Range("D3").Value

    For i = 5 To finalrow

        If Sheets("Catalogue").Cells(i, 5) = productname Then

            Sheets("Sheet1").Cell("H3").Value = "Mobile Phone"

            End If

        Next i

End Sub

Спасибо

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете использовать Найти для этого, а также исправить для xlUp. Кроме того, добавьте в некоторые базовые тесты для not found, последняя строка меньше 5, или productname пусто.

Option Explicit
Public Sub VBAScanner()
    Dim productname As String, finalRow As Long, found As Range, i As Long

    productname = ThisWorkbook.Worksheets("Sheet1").Range("D3").Value
    If productname = vbNullString Then Exit Sub

    With ThisWorkbook.Worksheets("Catalogue")
        finalRow = .Range("J3000").End(xlUp).Row
        If finalRow < 5 Then Exit Sub
        Set found = .Range("J5:J" & finalRow).Find(productname)
    End With

    If Not found Is Nothing Then
        ThisWorkbook.Worksheets("Sheet1").Range("H3").Value = "Mobile Phone"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...