Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Por daniexcel
Posts
#16917
Pessoal, bom dia
Sei que o que estou pedindo é simples, mas estou com uma certa dificuldade, devido ao "array" (Ctrl Shift Enter)

Preciso fazer um "procv avançado" em vba... no excel, é facil... utilizo indice e corresp.... e ai vem o velho Ctrl Shift Enter para ativar a formula...
no entanto, não consigo combinar isso no Applicationworksheetfunction

voces poderiam me ajudar?
A formula em excel é a seguinte
=ÍNDICE($H:$H;CORRESP(Criterio1&Criterio2&Criterio3;$A:$A&$B:$B&$C:$C;0)),
onde meus critérios são buscados nas colunas A B e C e o resultado está na coluna H

ou ainda:
Selection.FormulaArray = "=INDEX(C8,MATCH(Criterio1&Criterio2&Criterio3,C1&C2&C3,0))"

Poderiam me ajudar em uma macro que possibilite visualizar o resultado, de modo que eu possa obter o valor através dos 3 criterios indicados?

Obrigado
Avatar do usuário
Por alexandrevba
Avatar
#16918
Bom dia!!!

Eu sinceramente não entedi.

A formula gerada não atende seu requisito?

Att
Por daniexcel
Posts
#16921
desta maneira não... o problema é que o código aplica a mesma fórmula na célula... eu até poderia fazer um ACTIVECELL = ACTIVECELL para fixar o valor, mas a minha intenção era que o código já fosse inserido diretamente....
Exemplo : Application.worksheetfunction.sum(Range("A1:A10")) ... é o mesmo que eu inserir um SUM("A1:A10")... mas ele não insere a formula.. já insere o valor direto
Avatar do usuário
Por DJunqueira
Avatar
#16925
DJunqueira escreveu:Para evitar usar Ctr + Shift + Enter:
Código: Selecionar todos
=ÍNDICE($H:$H;SOMARPRODUTO((($K$12&$K$13&$K$14)=($A:$A&$B:$B&$C:$C))*LIN(A:A)))
Tb pode usar a função PROC()
Código: Selecionar todos
=PROC($K$12&$K$13&$K$14;Tabela1[Nome]&Tabela1[Sobrenome]&Tabela1[Estado];Tabela1[Valor])
Veja mais na planilha anexa.
Por daniexcel
Posts
#16966
DJunqueira. Obrigado
No entanto, eu não consigo aplicar isso em um Worksheetfunction
Ex :
Application.WorksheetFunction.Lookup(ActiveSheet.Range("L12") & ActiveSheet.Range("L13") & ActiveSheet.Range("L14"), ActiveSheet.Range("A1:A5") & ActiveSheet.Range("B1:B5") & ActiveSheet.Range("C1:C5"), ActiveSheet.Range("H1:H5"))

O problema é que eu preciso aplicar os valores, utilizando um arranjo em For para todas as minhas linhas ... pra usar formula, eu teria que copiar a celula, colar formulas, aplicar um Calculate na sheet... gostaria de saber se há uma maneira de fazer com que as formulas do excel sejam aplicadas diretamente, de modo que eu consiga combinar condições... ou se há alguma outra maneira de fazer um "REPLACE" com criterios....

super obrigado
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord