Olá a todos.
Estou fazendo um código em VBA para cálculo de orçamento aqui da empresa. Existem várias tabelas com os valores de preço, e quando o usuário entra com alguns critérios no Formulário, o código busca qual a planilha, a tabela, a linha e a coluna que correspondem aos critérios e retorna o valor da célula correspondente.
No entanto, estou tendo um problema pra encontrar, especificamente, a coluna correspondente.
Estou usando a combinação das funções INDEX e MATCH, mas quando rodo o formulário, me retorna: "Erro em tempo de execução '1004': Não é possível obter a propriedade Match da classe WorksheetFunction"
Segue abaixo a parte do código que estou tentando rodar.
As variáveis com "cmb" na frente são os valores selecionados nas caixas de combinação pelo usuário do Formulário. São os critérios que localizam o valor procurado. "vTamanho" seria o índice de cada tabela dentro da planilha.

Option Explicit
Dim W As Worksheet
Dim Tamanho As Variant
Dim Espessura As Variant
Dim NPartes As Variant
Dim vTamanho As Range
Dim TabelaSelecionada As Range

Private Sub btCalcular_Click()

If cmbTipoChapa = ("Cristal Recuperada") Then


    Set W = Sheets("Preço Chapa Recuperada")
    W.Activate
    
    Tamanho = cmbTamanhoChapa
    Espessura = cmbEspessura
    NPartes = cmbPartes


    With Application.WorksheetFunction
        Set vTamanho = W.Range("B:B").Find(Tamanho, LookIn:=xlValues, LookAt:=xlWhole, _
        SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    End With
    
    Set TabelaSelecionada = W.Range(vTamanho.Offset(1, 1), vTamanho.Offset(5, 10))
    
    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
    
End If

End Sub
Após alguns testes descobri que o erro está especificamente no trecho ".Match(Espessura, W.Range(vTamanho.Offset(0, 1), vTamanho.Offset(0, 10)), 0)", que não funciona quando rodo ele "sozinho".

Desculpem se se não fui clara ou se cometi algum erro. Essa é minha primeira postagem aqui. Mas já agradeço qualquer um que puder dar uma olhada.