Andrei
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 08/01/2013 17:27 hs
Galera, estou tentando utilizar a fórmula PROCV em VBA utilizando o contador, porém não está dando certo, o compilador informa ERRO de definição de aplicativo.
Exemplo: ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-contador],Produtividade!R[2]C[-166]:R[24]C[-161],2,FALSE)"
Alguma ideia de como a fórmula poderia funcionar?
|
|
|
|
rdeletric
|
SÃO JOSÉ DO RIO PRETO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 09/01/2013 16:39 hs
Tente: ActiveCell.FormulaR1C1 = "=Application.WorksheetFunction.VLOOKUP(RC[-contador],Produtividade!R[2]C[-166]:R[24]C[-161],2,FALSE)"
exemplo de funcao PROCV em VBA
Sub Funcao_de_planilha_procv() Dim vRange1 As Range Dim vRange2 As Range
Set vRange1 = Worksheets("Plan1").Range("M14:M19") Set vRange2 = Worksheets("Plan1").Range("N14:N19") FuncaoProcv = Application.WorksheetFunction.Lookup([M11].Value, vRange1, vRange2) MsgBox "Salário [ " & [M11] & " ] Faturou [" & FuncaoProcv & " ]" 'retornará o valor total de comissões [D3].Value = Application.WorksheetFunction.Sum(Val(FuncaoProcv) * 0.15) [D4].Value = [M1].Value & " Faturou : [ " & FuncaoProcv & " ] comissões para receber : [ " & [D3].Value & " ]" End Sub
|
|
|
Andrei
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 09/01/2013 19:27 hs
E aê RD...
Cara desse forma: ActiveCell.FormulaR1C1 = "=Application.WorksheetFunction.VLOOKUP(RC[-contador],Produtividade!R[2]C[-166]:R[24]C[-161],2,FALSE)"
não deu certo.
Mas nessa sua função o que seria o M11?
Eu modifiquei um pouco a macro e ela está pondo a fórmula da seguinte forma =PROCV(FL2-167;Produtividade!$B$4:$G$26;2;FALSO)
Assim está a macro:
Sub AdcProdutividade() ' ' AdcProdutividade Macro ' 'Copia a Data
Sheets("Produtividade").Select Range("B2").Select Selection.Copy Application.ScreenUpdating = True Dim x As Integer
x = 0
' Cola a DATA da equipe de PREPARAÇÃO
Sheets("Preparação").Select Range("A1").Select Do While ActiveCell <> "" ActiveCell.Offset(0, 1).Select x = x + 1 Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
'Aplica as fórmulas para buscar os valores da equipe de PREPARAÇÃO
Do While ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select Do While ActiveCell.Offset(0, -1).Value <> "" If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC" & -x & ",Produtividade!R4C2:R26C7,2,FALSE)" ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If Loop Loop End Sub
No meu caso o "meu M11" seria a variável, pois o VALOR PROCURADO da fórmula PROCV é que varia de acordo que ele vai descendo. Modifiquei a macro e ela está assim:
|
|
|
|