Notifications
Clear all

METODO GLOBAL RANGE FALHOU for each i in selection

6 Posts
3 Usuários
0 Reactions
1,711 Visualizações
(@denisw)
Posts: 64
Trusted Member
Topic starter
 

Bom dia
estou pela primeira vez tentando afzer um for each in selection , geralmento uso for = i to qtd de linhas. Porem neste caso esta dando erro.
Quero que para cada celula selecionada na coluna A va para d1 E RETORNE na coluna B o resultado de F 1 . Mas esta dando metodo range falhou
.
se alguem puder me passar um exemplo simples. eu tento adaptar.
Obrigado.

Sub EXTRAI()
For Each i In Selection
Range("D1").Value = i
Range("B" & i) = Range("F1").Value ' metodo range falhou
Next
End Sub

 
Postado : 29/05/2015 7:13 am
(@edcronos)
Posts: 1006
Noble Member
 

cara
o "i" de for each é como se fosse celulas e não linhas
o for each varre cada item de um grupo,
se for uma range ele vai varrer cada celula, se for array vai varrer cada valor do array e por assim vai
Range("B" & i) = Range("F1").Value ' metodo range falhou
tente assim
Range("B" & i.row ) = Range("F1").Value
no caso vai ser coluna b e linha da celula i

de resto não entendi oq vc quer fazer

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 29/05/2015 10:12 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não vou analisar a formula, mas sim o erro :
"metodo range falhou"

Acontece que na instrução : For Each i In Selection você está se referindo a um endereço Selecionado, então tem de ter instrução que selecione o range primeiro, tipo ;
Range("A3:G3").Select - selecionamos os ranges e depois aplicamos a propriedade "Selection".

[]

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/05/2015 10:18 am
(@denisw)
Posts: 64
Trusted Member
Topic starter
 

NA VERDADE PELO QUE VCS ME PASSARAM ESTOU USANDO A PROPRIEDADE ERRADA, o que preciso é que ao cliclar no botão o loop ocorra nas celLS que o usuario selecionar com mouse ou ctrl+space, na coluna A.

 
Postado : 29/05/2015 10:46 am
(@edcronos)
Posts: 1006
Noble Member
 

tem uma pagina ensinando o metodo que vc quer fazer mas com um userform
http://www.excel-easy.com/vba/examples/ ... anges.html

oque de certa forma acho melhor , assim vc insere mensagem do que é para a pessoa fazer

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 29/05/2015 11:19 am
(@denisw)
Posts: 64
Trusted Member
Topic starter
 

FIZ PELO EXEMPLO E DEU CERTO selection.address.
Agora se não for pedir demais como fica if cell.value <> "" ' execute a formula
=ESQUERDA($D$1;6)&"-"&EXT.TEXTO($D$1;7;1)&"/"&EXT.TEXTO($D$1;8;1)
pq esta formula está em uma celula e se colcar dentro do vba fica melhor

 
Postado : 29/05/2015 12:59 pm