Try this.
Option Explicit
Function varc(ticker)
Dim cart As Worksheet
Dim ret As Worksheet
Dim rang1 As Range
Dim rang2 As Range
Dim uLinha1 As Long
Dim uLinha2 As Long
Dim a As Variant
Dim slp As Variant
Dim partc As Variant
Set cart = Sheets("CARTEIRA")
Set ret = Sheets("Retorno")
'ticker = "ITUB4"
uLinha1 = cart.Range("A2").End(xlDown).Row
uLinha2 = ret.Range("A1").End(xlDown).Row
a = Application.Match(ticker, ret.Range("1:1"), 0)
With cart
Set rang1 = .Range(.Cells(uLinha1 - 20, 31), .Cells(uLinha1, 31))
End With
With ret
Set rang2 = .Range(.Cells(uLinha2 - 20, a), .Cells(uLinha2, a))
End With
slp = Application.Slope(rang2, rang1)
partc = ActiveCell.Offset(0, -4)
varc = slp * partc
End Function
Bookmarks