USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  PROCV em VBA utilizando CONTADOR
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:

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página