O uso da função de planilha do aplicativo nesta seção está errado
 With Application.WorksheetFunction
        W.Range("M26").Value = .Index(TabelaSelecionada, .Match(NPartes, _
        W.Range(vTamanho.Offset(1, 0), vTamanho.Offset(5, 0)), 0), .Match(Espessura, _
        W.Range(vTamanho.Offset(0, 1), vTamanho.Offset(0, 10)), 0))
End With
 With W 
        
        .Range("M26").Value = .Index(TabelaSelecionada, WorksheetFunction.Match(NPartes, _
        .Range(vTamanho.Offset(1, 0), vTamanho.Offset(5, 0)), 0), WorksheetFunction.Match(Espessura, _
        .Range(vTamanho.Offset(0, 1), vTamanho.Offset(0, 10)), 0))
     End With
Você vai ter que experimentar para ver se consegue, sem um exemplo concreto eu não posso fazer nada