Subscript is out of range because worksheet name is not found. It may happen in both Worksheet(...)
line codes.
Worksheets("Home")
may return subscript error because your active workbook may not be the one with your Home worksheet;
Worksheets(tbValue)
may fail by same first reason and because tbValue may not match exact sheet name.
First solution may be ensure correct book is active:
Sub Home()
Dim tbValue As String
Workbooks("your_workbook_name.xlsm").Activate
tbValue = ThisWorkbook.Worksheets("Home").TextBox1.Value
Worksheets(tbValue).Activate
MsgBox Cells(7,1).Value
End Sub
Better solution is to avoid sheet and books activations and use full qualified objects. If your macro is in the same book as Home sheet:
Sub Home()
Dim tbValue As String
tbValue = ThisWorkbook.Worksheets("Home").TextBox1.Value
MsgBox ThisWorkbook.Worksheets(tbValue).Cells(7,1)
End Sub
You can also replace Worksheets("Home")
with VBA assigned name to worksheet, probably Sheet1
(you can check this name in IDE).