(vba) добавить значение в ячейке к результату vlookup - PullRequest
0 голосов
/ 06 июня 2019

Прямо сейчас у меня есть этот код:

stockvalue = Application.WorksheetFunction.VLookup(ThisWorkbook.Sheets("In_bestelling").Range("G2").value, ThisWorkbook.Sheets("Producten").Range("B1:D9000"), 2, False)

Так что это возвращает 5. Что мне нужно сделать, это установить значение ячейки, которую vlookup получает в значение, которое он имеет сейчас, плюс другое значение.

Так что в этом случае другое значение равно 10, и vlookup нашел 5, поэтому ему нужно вставить 15 в ячейку с надписью 5.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim wsIn As Worksheet, wsPro As Worksheet, rngFound
    Dim SearchString As String
    Dim FoundValue As Long, ResultValue As Long

    With ThisWorkbook
        Set wsIn = .Sheets("In_bestelling")
        Set wsPro = .Sheets("Producten")
    End With

    SearchString = wsIn.Range("G2").Value

    Set rngFound = wsPro.Range("B1:D9000").Find(What:=SearchString, LookIn:=xlValues, LookAt:=xlWhole)

    If Not rngFound Is Nothing Then

        With wsPro
            FoundValue = .Cells(rngFound.Row, rngFound.Column + 1).Value
            ResultValue = FoundValue + 10
            .Cells(rngFound.Row, rngFound.Column + 1) = ResultValue
        End With

    Else
        MsgBox "No Match!"
    End If

End Sub
0 голосов
/ 06 июня 2019

Вы можете использовать то же значение ячейки, как это:

Dim stockvalue As Long
Dim ItemRow As Long

'wtih Application.Match we will find the row in column B that matches your item in G2
ItemRow = Application.Match(ThisWorkbook.Sheets("In_bestelling").Range("G2").Value, _
    ThisWorkbook.Sheets("Producten").Range("B1:B9000"), 0)
'Here we will change the value of the cell where the item was found with it's value + stockvalue
stockvalue = 10 'change this for whatever you need to add
With ThisWorkbook.Sheets("Producten")
    .Cells(ItemRow, 4) = .Cells(ItemRow, 4) + stockvalue
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...