Vlookup across multiple sheets

kishengiggs1

New Member
Joined
Jun 21, 2011
Messages
23
I have 9 worksheets and i would like to Vlookup across all the sheet and return a value from any sheet it finds a value. The range is same for all the sheets.

I think there can be a UDF function created but i am not too familiar with VBA.

Any help will be appreciated.

thanks
 

Excel Facts

Formula for Yesterday
Name Manager, New Name. Yesterday =TODAY()-1. OK. Then, use =YESTERDAY in any cell. Tomorrow could be =TODAY()+1.
I tried that but its giving me an error.

Could you post a small example of 2 or 3 sheets like this:

<b>Excel 2007</b><table cellpadding="2.5px" rules="all" style=";background-color: #FFFFFF;border: 1px solid;border-collapse: collapse; border-color: #A6AAB6"><colgroup><col width="25px" style="background-color: #E0E0F0" /><col /><col /></colgroup><thead><tr style=" background-color: #E0E0F0;text-align: center;color: #161120"><th></th><th>A</th><th>B</th></tr></thead><tbody><tr ><td style="color: #161120;text-align: center;">1</td><td style=";">Test1</td><td style="text-align: right;;">1</td></tr><tr ><td style="color: #161120;text-align: center;">2</td><td style=";">Test4</td><td style="text-align: right;;">4</td></tr><tr ><td style="color: #161120;text-align: center;">3</td><td style=";">Test7</td><td style="text-align: right;;">7</td></tr><tr ><td style="color: #161120;text-align: center;">4</td><td style=";">Test10</td><td style="text-align: right;;">10</td></tr><tr ><td style="color: #161120;text-align: center;">5</td><td style=";">Test13</td><td style="text-align: right;;">13</td></tr><tr ><td style="color: #161120;text-align: center;">6</td><td style=";">Test16</td><td style="text-align: right;;">16</td></tr><tr ><td style="color: #161120;text-align: center;">7</td><td style=";">Test19</td><td style="text-align: right;;">5</td></tr><tr ><td style="color: #161120;text-align: center;">8</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: #161120;text-align: center;">9</td><td style=";">********</td><td style=";">********</td></tr></tbody></table><p style="width:3.6em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid #A6AAB6;border-top:none;text-align: center;background-color: #E0E0F0;color: #161120">Master</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: #FFFFFF" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: #FFFFFF;border-collapse: collapse; border-color: #A6AAB6"><thead><tr style=" background-color: #E0E0F0;color: #161120"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: #E0E0F0;color: #161120">B1</th><td style="text-align:left">=VLOOKAllSheets(<font color="Blue">A1,A$1:B$10,2</font>)</td></tr></tbody></table></td></tr></table><br /><b>Excel 2007</b><table cellpadding="2.5px" rules="all" style=";background-color: #FFFFFF;border: 1px solid;border-collapse: collapse; border-color: #A6AAB6"><colgroup><col width="25px" style="background-color: #E0E0F0" /><col /><col /></colgroup><thead><tr style=" background-color: #E0E0F0;text-align: center;color: #161120"><th></th><th>A</th><th>B</th></tr></thead><tbody><tr ><td style="color: #161120;text-align: center;">1</td><td style=";">Test1</td><td style="text-align: right;;">1</td></tr><tr ><td style="color: #161120;text-align: center;">2</td><td style=";">Test2</td><td style="text-align: right;;">2</td></tr><tr ><td style="color: #161120;text-align: center;">3</td><td style=";">Test3</td><td style="text-align: right;;">3</td></tr><tr ><td style="color: #161120;text-align: center;">4</td><td style=";">Test4</td><td style="text-align: right;;">4</td></tr><tr ><td style="color: #161120;text-align: center;">5</td><td style=";">Test19</td><td style="text-align: right;;">5</td></tr><tr ><td style="color: #161120;text-align: center;">6</td><td style=";">Test6</td><td style="text-align: right;;">6</td></tr><tr ><td style="color: #161120;text-align: center;">7</td><td style=";">Test7</td><td style="text-align: right;;">7</td></tr><tr ><td style="color: #161120;text-align: center;">8</td><td style=";">Test8</td><td style="text-align: right;;">8</td></tr><tr ><td style="color: #161120;text-align: center;">9</td><td style=";">Test9</td><td style="text-align: right;;">9</td></tr><tr ><td style="color: #161120;text-align: center;">10</td><td style=";">Test10</td><td style="text-align: right;;">10</td></tr><tr ><td style="color: #161120;text-align: center;">11</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: #161120;text-align: center;">12</td><td style=";">********</td><td style=";">********</td></tr></tbody></table><p style="width:3.6em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid #A6AAB6;border-top:none;text-align: center;background-color: #E0E0F0;color: #161120">Sheet1</p><br /><br /><b>Excel 2007</b><table cellpadding="2.5px" rules="all" style=";background-color: #FFFFFF;border: 1px solid;border-collapse: collapse; border-color: #A6AAB6"><colgroup><col width="25px" style="background-color: #E0E0F0" /><col /><col /></colgroup><thead><tr style=" background-color: #E0E0F0;text-align: center;color: #161120"><th></th><th>A</th><th>B</th></tr></thead><tbody><tr ><td style="color: #161120;text-align: center;">1</td><td style=";">Test11</td><td style="text-align: right;;">11</td></tr><tr ><td style="color: #161120;text-align: center;">2</td><td style=";">Test12</td><td style="text-align: right;;">12</td></tr><tr ><td style="color: #161120;text-align: center;">3</td><td style=";">Test13</td><td style="text-align: right;;">13</td></tr><tr ><td style="color: #161120;text-align: center;">4</td><td style=";">Test14</td><td style="text-align: right;;">14</td></tr><tr ><td style="color: #161120;text-align: center;">5</td><td style=";">Test15</td><td style="text-align: right;;">15</td></tr><tr ><td style="color: #161120;text-align: center;">6</td><td style=";">Test16</td><td style="text-align: right;;">16</td></tr><tr ><td style="color: #161120;text-align: center;">7</td><td style=";">Test17</td><td style="text-align: right;;">17</td></tr><tr ><td style="color: #161120;text-align: center;">8</td><td style=";">Test18</td><td style="text-align: right;;">18</td></tr><tr ><td style="color: #161120;text-align: center;">9</td><td style=";">Test19</td><td style="text-align: right;;">19</td></tr><tr ><td style="color: #161120;text-align: center;">10</td><td style=";">Test20</td><td style="text-align: right;;">20</td></tr><tr ><td style="color: #161120;text-align: center;">11</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: #161120;text-align: center;">12</td><td style=";">********</td><td style=";">********</td></tr></tbody></table><p style="width:3.6em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid #A6AAB6;border-top:none;text-align: center;background-color: #E0E0F0;color: #161120">Sheet2</p><br /><br />
Markmzz
 
Last edited:
Upvote 0
Try this code (I did a small modification):

Code:
Function VLOOKAllSheets( _
    Look_Value As Variant, _
    Tble_Array As Range, _
    Col_num As Integer, _
    Optional Range_look As Boolean)
''''''''''''''''''''''''''''''''''''''''''''''''
'Written by OzGrid.com
'Use VLOOKUP to Look across ALL Worksheets and stops _
'at the first match found.
[COLOR=blue]'With a small modification by Markmzz[/COLOR]
'''''''''''''''''''''''''''''''''''''''''''''''''
    Dim wSheet As Worksheet
    Dim vFound
 
    [COLOR=blue]Application.Volatile True[/COLOR]
 
    On Error Resume Next
    For Each wSheet In ActiveWorkbook.Worksheets
        [COLOR=blue]If wSheet.Name <> "Master" Then[/COLOR]
            With wSheet
            Set Tble_Array = .Range(Tble_Array.Address)
 
                vFound = WorksheetFunction.VLookup _
                (Look_Value, Tble_Array, _
                Col_num, Range_look)
            End With
            If Not IsEmpty(vFound) Then Exit For
       [COLOR=blue]End If[/COLOR]
    Next wSheet
    Set Tble_Array = Nothing
    VLOOKAllSheets = vFound
End Function

Markmzz
 
Upvote 0
Re: Vlookup Across Multiple Sheets in an External File

This is a great function. But can you do the all sheet lookup on an external file?

Thanks, Andy

Try this code (I did a small modification):

Code:
Function VLOOKAllSheets( _
    Look_Value As Variant, _
    Tble_Array As Range, _
    Col_num As Integer, _
    Optional Range_look As Boolean)
''''''''''''''''''''''''''''''''''''''''''''''''
'Written by OzGrid.com
'Use VLOOKUP to Look across ALL Worksheets and stops _
'at the first match found.
[COLOR=blue]'With a small modification by Markmzz[/COLOR]
'''''''''''''''''''''''''''''''''''''''''''''''''
    Dim wSheet As Worksheet
    Dim vFound
 
    [COLOR=blue]Application.Volatile True[/COLOR]
 
    On Error Resume Next
    For Each wSheet In ActiveWorkbook.Worksheets
        [COLOR=blue]If wSheet.Name <> "Master" Then[/COLOR]
            With wSheet
            Set Tble_Array = .Range(Tble_Array.Address)
 
                vFound = WorksheetFunction.VLookup _
                (Look_Value, Tble_Array, _
                Col_num, Range_look)
            End With
            If Not IsEmpty(vFound) Then Exit For
       [COLOR=blue]End If[/COLOR]
    Next wSheet
    Set Tble_Array = Nothing
    VLOOKAllSheets = vFound
End Function

Markmzz
 
Upvote 0
Re: Vlookup Across Multiple Sheets in an External File

This is a great function. But can you do the all sheet lookup on an external file?

Thanks, Andy

Watchouse,

Sorry, but I don't know how to do that.

Lets wait for another user.

Markmzz
 
Upvote 0
Re: Vlookup Across Multiple Sheets in an External File

Is it possible to look on all sheets except the one you have the formula on?

Thanks
 
Upvote 0

Forum statistics

Threads
1,224,586
Messages
6,179,729
Members
452,939
Latest member
WCrawford

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top