Caldeirão da Bolsa

Dúvida no EXCEL

Espaço dedicado a todo o tipo de troca de impressões sobre os mercados financeiros e ao que possa condicionar o desempenho dos mesmos.

por bolsas » 24/12/2004 3:02

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.
bolsas
 

por pedro78 » 23/12/2004 23:18

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.
 
Mensagens: 232
Registado: 2/1/2004 22:29

por pedro78 » 23/12/2004 22:29

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

por pedro78 » 23/12/2004 22:13

onde se lê insert deve ler-se indirect
 
Mensagens: 232
Registado: 2/1/2004 22:29

por pedro78 » 23/12/2004 22:11

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

Experimente a ...

por Visitante » 23/12/2004 21:43

... formula que indiquei que vai ver que funciona.

ph
Visitante
 

por pedro78 » 23/12/2004 20:56

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

por pedro78 » 23/12/2004 19:48

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

Nao precisa de macros para nada ...

por Visitante » 23/12/2004 18:10

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
Visitante
 

por pedrom » 23/12/2004 13:51

De facto não me parece haver outra solução/formula tem que recorrer à macro.
Avatar do Utilizador
 
Mensagens: 2317
Registado: 29/7/2004 19:55
Localização: Ourém

por pedro78 » 23/12/2004 13:31

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

por vrpinto » 23/12/2004 13:25

só recorrendo a macros!
 
Mensagens: 12
Registado: 19/12/2004 19:42

por pedrom » 23/12/2004 13:17

Para ver se percebo: Você tem 19.500 ficheiros de excel para analizar a célula $O$10?
Avatar do Utilizador
 
Mensagens: 2317
Registado: 29/7/2004 19:55
Localização: Ourém

por PM » 23/12/2004 13:13

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
 
Mensagens: 11
Registado: 1/12/2003 4:03

por pedro78 » 23/12/2004 13:00

vai aí o anexo
Anexos
exemplo.xls
(26 KiB) Transferido 278 Vezes
 
Mensagens: 232
Registado: 2/1/2004 22:29

por pedrom » 23/12/2004 12:49

Posso tentar dar-lhe uma ajuda, mas gostava que o exemplo em cima já viesse em formato excel.
Avatar do Utilizador
 
Mensagens: 2317
Registado: 29/7/2004 19:55
Localização: Ourém

por Visitante » 23/12/2004 12:48

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...
Visitante
 

por pedro78 » 23/12/2004 12:40

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
 
Mensagens: 232
Registado: 2/1/2004 22:29

por Visitante » 23/12/2004 12:08

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....
Visitante
 

por bboniek99 » 23/12/2004 12:05

então quer dizer que é pirata... :twisted:
bboniek99
 

Re: Excel ?

por luizito » 23/12/2004 10:21

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
luizito
 

Excel ?

por bboniek99 » 22/12/2004 22:20

Tens licenca ou uma versao Pirata ?
bboniek99
 

por pedro78 » 22/12/2004 22:04

não

tá em inglês
 
Mensagens: 232
Registado: 2/1/2004 22:29

por Quico » 22/12/2004 21:59

O teu Excel é português?
Avatar do Utilizador
 
Mensagens: 4688
Registado: 12/5/2004 19:52

Dúvida no EXCEL

por pedro78 » 22/12/2004 21:40

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
 
Mensagens: 232
Registado: 2/1/2004 22:29


Quem está ligado:
Utilizadores a ver este Fórum: Bing [Bot], PAULOJOAO e 59 visitantes