Página 1 de 1

MensagemEnviado: 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.

MensagemEnviado: 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.

MensagemEnviado: 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

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

MensagemEnviado: 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 ...

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

ph

MensagemEnviado: 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

MensagemEnviado: 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 ...

MensagemEnviado: 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

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

MensagemEnviado: 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

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

MensagemEnviado: 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?

MensagemEnviado: 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

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

MensagemEnviado: 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.

MensagemEnviado: 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...

MensagemEnviado: 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

MensagemEnviado: 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....

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

Re: Excel ?

MensagemEnviado: 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 ?

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

MensagemEnviado: 22/12/2004 22:04
por pedro78
não

tá em inglês

MensagemEnviado: 22/12/2004 21:59
por Quico
O teu Excel é português?

Dúvida no EXCEL

MensagemEnviado: 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