Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to vlookup and return matching value with cell comment?

When you apply the Vlookup function to return the matching value, it will only extract the value without the formatting, such as fill color, font or comment etc. But, sometimes, you may need to vlookup and return the matched value including comment as well to get the following screenshot result. How could you solve this job in Excel?

Vlookup and return matching value with cell comment by using VBA code


Vlookup and return matching value with cell comment by using VBA code


The below VBA code may help you to vlookup and return matched value with its comment, please do as follows:

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, then copy and paste the following code in the Module Window.

VBA code: Vlookup and return matching value with cell comment:

Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .Comment Is Nothing Then
                .Comment.Delete
            End If
            If Not xCell.Comment Is Nothing Then
                .AddComment xCell.Comment.Text
            End If
        End With
    End If
End Function

3. And then save the code and close the code window, enter this formula: =vlookupcomment(H2,A2:C10,3,FALSE) into a blank cell to locate the result, and press Enter key, the matched value as well as the comment is returned at once, see screenshot:

Note: In the above formula, H2 is the lookup value you want to return its corresponding value, A2:C10 is the data table you want to use, the number 3 is the column number which contains the matched value you want to return.



Excel Productivity Tools

Kutools for Excel - The Best Office Productivity Tool

  • Brings 300 powerful advanced features to Excel, enable you to do smarter, faster and better.
  • No longer need memorizing formulas and VBA codes, give your brain a rest from now on.
  • Become an Excel expert in 3 minutes, Complicated and repeated operations can be done in seconds, 
  • Reduce thousands of keyboard & mouse operations every day, say goodbye to occupational diseases now.
  • 110,000 highly effective people and 300+ world-renowned companies' choice.
  • 60-day full features free trial. 60-day money back guarantees. 2 years of free upgrade and support.

Office Tab - brings tabbed interface to Office, make your work much easier.

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Derek Carl · 9 months ago
    Is there a way that the vlookup comment copies the formatting of the original comment? Some of my comments are very long, but the comment returned from vlookup is always the standard small size, so I can't read all the text
    • To post as a guest, your comment is unpublished.
      skyyang · 9 months ago
      Hello, Carl,
      May be there isn't a direct way for solving your problem, but, you can drag the comment box larger manually. Or you can apply our Kutools for Excel's Autofit Comment feature, it can help you to adjust the comment box to fit the content.Thank you!
  • To post as a guest, your comment is unpublished.
    Josh · 11 months ago
    How would I do the same as an Hlookup instead of vlookup?

    I changed the code as follows:
    Function hlookupComment(LookVal As Variant, FTable As Range, Frow As Long, FType As Long) As Variant
    'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Rows(1), FType)
    If IsError(xRet) Then
    hlookupComment = "Not Found"
    Else
    Set xCell = FTable.Rows(Frow).Cells(1)(xRet)
    hlookupComment = xCell.Value
    With Application.Caller
    If Not .Comment Is Nothing Then
    .Comment.Delete
    End If
    If Not xCell.Comment Is Nothing Then
    .AddComment xCell.Comment.Text
    End If
    End With
    End If
    End Function