Página 1 de 1

Enviado:
24/12/2004 3:02
por bolsas
Mesmo que seja possivel,com ou sem macro.A situaçao que pertendes só vai funcionar com os dois ficheiros abertos,o de origem e o de destino da informação.
Agora imagina o que é estar a abrir e fechar consecutivamente 500 ficheiros!!!!!!!!!!!!!!!
A melhor solução será criar,no mesmo ficheiro(livro)500 folhas(sheet)ou então no mesmo ficheiro criar uma tabela auxiliar onde colocas a informação que queres em relaçao a cada empresa.

Enviado:
23/12/2004 23:18
por pedro78
Syntax
INDIRECT(ref_text,a1)
Ref_text is a reference to a cell that contains an A1-style reference, an R1C1-style reference, a name defined as a reference, or a reference to a cell as a text string. If ref_text is not a valid cell reference, INDIRECT returns the #REF! error value.
If ref_text refers to another workbook (an external reference), the other workbook must be open. If the source workbook is not open, INDIRECT returns the #REF! error value.

Enviado:
23/12/2004 22:29
por pedro78
dá-me um problema de referência
o concatenate tá bom, pq experimentei sózinho, e depois fiz copy/paste e ele foi buscar o valor
a minha suspeita é que ele processe o insert e só depois o concatenate
afinal não, a formula funciona muito bem
mas só enquanto o ficheiro a que se refere está aberto, antes de abrir tem ref#, quando abro tem o valor correcto, quando volto a fechar vem o ref# novamente

Enviado:
23/12/2004 22:13
por pedro78
onde se lê insert deve ler-se indirect

Enviado:
23/12/2004 22:11
por pedro78
dá-me um problema de referência
o concatenate tá bom, pq experimentei sózinho, e depois fiz copy/paste e ele foi buscar o valor
a minha suspeita é que ele processe o insert e só depois o concatenate
Experimente a ...

Enviado:
23/12/2004 21:43
por Visitante
... formula que indiquei que vai ver que funciona.
ph

Enviado:
23/12/2004 20:56
por pedro78
afinal tinha o path errado
=CONCATENATE("='D:\Estudo[",TRIM(B8),".xls]0DIAS'!$O$10")
assim tá bastante bom, faço um copy/paste values and number formats
e dá-me o código pretendido, mas tenho ainda de fazer duplo clic e enter na célula onde está a fórmula pois ele assume o paste como texto e não como fórmula

Enviado:
23/12/2004 19:48
por pedro78
consigo qq coisa com
=concatenate("'D:\Estudo\[";trim(A1);".xls]0DIAS'!$O$10"))
mas depois de fazer um copy paste para a célula ainda tenho de dar enter( um a um), mas esse não é o grande problema o grande problema é quando ele assume a fórmula pergunta-me o caminho para o ficheiro não o vai buscar automáticamente
Nao precisa de macros para nada ...

Enviado:
23/12/2004 18:10
por Visitante
Experimente a seguinte formula:
=indirect(concatenate("'D:\Estudo\[";trim(A1);".xls]0DIAS'!$O$10"))
Basta copiar a formula (metodo copy/paste) para as restantes 499 linhas imediatamente abaixo.
Estou a partir do principio que o nome do primeiro file se encontra na celula A1.
Cumprimentos,
ph

Enviado:
23/12/2004 13:51
por pedrom
De facto não me parece haver outra solução/formula tem que recorrer à macro.

Enviado:
23/12/2004 13:31
por pedro78
Para ver se percebo: Você tem 19.500 ficheiros de excel para analizar a célula $O$10?
não tenho 500 é o sp500 mas quero varios valores de cada ficheiro, cada ficheiro é uma acção, mas entretanto tive uma ideia que me permite reduzir o número de de linhas a introdudir para 500
basta tirar os "$" fazer um drag noutra folha(até me dar a coluna pretendida)depois faço uns traspose e mais uns drags eventualmente terei o a coluna que pretendo
de qq maneira mais logo vou experimentar o macro do PM
obrigado a todos, tou no bom caminho

Enviado:
23/12/2004 13:25
por vrpinto
só recorrendo a macros!

Enviado:
23/12/2004 13:17
por pedrom
Para ver se percebo: Você tem 19.500 ficheiros de excel para analizar a célula $O$10?

Enviado:
23/12/2004 13:13
por PM
Sem recorrer a macro, não me parece possível.
Em todo caso deixo aqui a macro que faz o que pretendes, tens apenas de efectuar a devida adaptação à tua folha de cálculo:
Sub EscreveFormula()
Dim path As String, sheet As String, cell As String
' antes de executar a macro colocar o cursor no ínicio da coluna onde estão os nomes dos ficheiros
path = "'C:\Teste\" ' entre aspas e com aquela pelica ínicial colocas o caminho dos ficheiros, colocar a \ no final
sheet = "folha1" ' entre aspas colocas o nome da folha dos ficheiros
cell = "$B$2" ' entre aspas colocas o nome da célula
Do While Not ActiveCell.Value = ""
ActiveCell.Offset(0, 1).Formula = "=" & path & "[" & ActiveCell.Value & ".xls]" & sheet & "'!" & cell
ActiveCell.Offset(1, 0).Activate
Loop
End Sub
É só copiar para as macros e mandar executar!
Se tiveres alguma dúvida, diz.
Cumprimentos natalícios,
PM

Enviado:
23/12/2004 13:00
por pedro78
vai aí o anexo

Enviado:
23/12/2004 12:49
por pedrom
Posso tentar dar-lhe uma ajuda, mas gostava que o exemplo em cima já viesse em formato excel.

Enviado:
23/12/2004 12:48
por Visitante
como disse, eu não conheço, e já procuro há bastante tempo (não dedicadamente, confesso)...
por isso se um dia descobrir deixe aqui a dica por favor...

Enviado:
23/12/2004 12:40
por pedro78
que eu saiba não existe uma formula que vá buscar a outra célula uma parte do caminho de outro ficheiro (que penso ser disso que estava a falar)...
é exactamente isso e se não conseguir um método decente vou ter de fazer 19500 substituições só para começar

Enviado:
23/12/2004 12:08
por Visitante
que eu saiba não existe uma formula que vá buscar a outra célula uma parte do caminho de outro ficheiro (que penso ser disso que estava a falar)...
tem que fazer mesmo á mão... ou eventualmente com uma macro, mas mesmo assim nada fácil....

Enviado:
23/12/2004 12:05
por bboniek99
então quer dizer que é pirata...

Re: Excel ?

Enviado:
23/12/2004 10:21
por luizito
bboniek99 Escreveu:Tens licenca ou uma versao Pirata ?
O que é q isso tem a ver? Vais-me dizer q as versões piratas são diferentes das originais... tsk
Excel ?

Enviado:
22/12/2004 22:20
por bboniek99
Tens licenca ou uma versao Pirata ?

Enviado:
22/12/2004 22:04
por pedro78
não
tá em inglês

Enviado:
22/12/2004 21:59
por Quico
O teu Excel é português?
Dúvida no EXCEL

Enviado:
22/12/2004 21:40
por pedro78
coluna1_________coluna2
aa________='D:\Estudo\[aa.xls]0DIAS'!$O$10
aig
axp
...
pretendo ter uma fórmula que subtitua os simbolos na fórmula de maneira a ficar
coluna1___________coluna2
aa________='D:\Estudo\[aa.xls]0DIAS'!$O$10
aig_______='D:\Estudo\[aig.xls]0DIAS'!$O$10
axp________='D:\Estudo\[aa.xls]0DIAS'!$O$10
...
Atenção que a coluna2 tem de funcionar como fórmula.
Os traços são para fazer o espaço, não liguem.
Obrigado