Microsoft Excel - Dúvidas e Suporte

Consegui utilizar e resultou.

Tentei esta fórmula mas acho que não estou a conseguir aplicar. Está a falhar-me alguma coisa.
É da tradução da fórmula. Apercebi-me agora que na versão PR-BR é a "NÚM.CARACT" e na versão PT-PT é "NÚM.CARAT".

Como o meu Excel está em inglês, fui enganado pelo site em que procurei a coorespondência (não dizia se era Europeu ou Brasileiro).

Em Português Europeu será então:
="3"&DIREITA(A1;NÚM.CARAT(A1)-1)
 
Boas malta

Criei uma lista pendente e agora queria escrever na célula e ela desse o resultado que estive na lista com aquele nome.

Tipo eu escrevo manteiga e aparece na lista as opções que tenho com manteiga, por exemplo manteiga s/ sal e manteiga c/sal e assim já só escolho dessa duas.

Da forma como está eu carrego na lista e aparece todos os produtos e tenho de andar no elevador a ver se encontro o produto.

Obrigado a todos
 
PROBLEMAS COM NOME/LOCALIZAÇÃO DE FICHEIRO:

Boa noite. Criei um ficheiro de Excel, numa pasta específica, que coloquei no disco C. Esse ficheiro tem várias macros e fórmulas com alguma complexidade. Dava-me jeito mudar o ficheiro, por exemplo, para o ambiente de trabalho, mas, quando o faço, começam a surgir erros. Também me dava jeito alterar o nome do ficheiro, mas também dá erro (por exemplo: Run-time error). Há alguma solução que permita que eu mude o nome ou a localização do ficheiro sem que haja erros? Agradeço desde já a ajuda.
 
Não vejo motivo para isso estar a acontecer... No código o próprio nome do ficheiro ou caminho está explicitamente escrito? Se não, é estranho.

Podes tentar criar um novo ficheiro vazio e copiar para lá as folhas e as macros para ver o que dá.
 
Eu não sei programação e criei as macros gravando as operações que ia fazendo. Não me lembro de ter escrito, mas verifiquei o editor de VBA e efetivamente aparece lá o nome mais de uma vez. Quanto ao caminho, não aparece.

Não percebi bem o que quer dizer com " criar um novo ficheiro vazio e copiar para lá as folhas e as macros para ver o que dá". Como faço? Mais uma vez muito obrigado.
 
Se o nome do ficheiro está referenciado no código, copiar para outro ficheiro novo não resolverá.

Quanto ao caminho, é provável que também esteja escrito diretamente e não tenhas identificado.

Podes partilhar o código da macro?
 
Mais uma vez obrigado pela ajuda!


Sub SC1_P1IRI1_ir_para()
'
' SC1_P1IRI1_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "1"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "1"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P1IRI2_ir_para()
'
' SC1_P1IRI2_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "2"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "1"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P1IRI3_ir_para()
'
' SC1_P1IRI3_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "3"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "1"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P1IRI4_ir_para()
'
' SC1_P1IRI4_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "4"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "1"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P1IRI5_ir_para()
'
' SC1_P1IRI5_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "5"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "1"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P2IRI1_ir_para()
'
' SC1_P2IRI1_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "1"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "2"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P2IRI2_ir_para()
'
' SC1_P2IRI2_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "2"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "2"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P2IRI3_ir_para()
'
' SC1_P2IRI3_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "3"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "2"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P2IRI4_ir_para()
'
' SC1_P2IRI4_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "4"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "2"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P2IRI5_ir_para()
'
' SC1_P2IRI5_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "5"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "2"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P3IRI1_ir_para()
'
' SC1_P3IRI1_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "1"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "3"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P3IRI2_ir_para()
'
' SC1_P3IRI2_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "2"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "3"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P3IRI3_ir_para()
'
' SC1_P3IRI3_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "3"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "3"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P3IRI4_ir_para()
'
' SC1_P3IRI4_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "4"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "3"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
Sub SC1_P3IRI5_ir_para()
'
' SC1_P3IRI5_ir_para Macro
'

'
Application.ScreenUpdating = False
Application.Goto Reference:="SC.5!R94C115"
ActiveCell.FormulaR1C1 = "5"
Range("DJ94").Select
ActiveCell.FormulaR1C1 = "3"
Range("DK94").Select
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
Application.Goto Reference:="R1C1"
Application.ScreenUpdating = True
End Sub
 
Numa primeira instância, alteraria em todo o lado:
Código:
Application.Run "sistema_classificacao.xlsm!SC5_dados_IRI_ir_para_recup"
para:
Código:
Application.Run "SC5_dados_IRI_ir_para_recup"
ou até sem as aspas, pois não tens espaços no nome da macro:
Código:
Application.Run SC5_dados_IRI_ir_para_recup
Também podes substituir por esta forma de chamar uma macro dentro do ficheiro:
Código:
Call SC5_dados_IRI_ir_para_recup

Assim, em princípio não haverá stesses do nome do ficheiro. Já a questão da pasta onde o ficheiro está... Não identifiquei nada...

Podes testar?
 
Assim, em princípio não haverá stesses do nome do ficheiro. Já a questão da pasta onde o ficheiro está... Não identifiquei nada...

Já testei e funciona!
Quanto ao problema da pasta, nem sempre acontece. Há pcs mais sensíveis que outros :) Vou estar atento e, se ocorrer novamente o mesmo erro, digo alguma coisa.
Obrigadíssimo, amigo, e continuação de bom trabalho.
 
Bem tou a ter um problema gigante com uma macro para um desvio padrão com critérios if.. n sei como é que vou conseguir contornar isto.

Basicamente tenho de fazer o desvio padrão de uma coluna, mas os valores a selecionar para o desvio padrão estão pendentes de outros valores na tabela.
Por exemplo na coluna A tenho zeros e 1´s, se for a fazer o desvio padrão da coluna B, só quero que selecione valores quando por exemplo na coluna A o valor é um para a mesma linha.
O problema é que tenho 5 condições para isto, e estou a fazer o desvio padrão dessa coluna B mas noutra folha. E os valores das condições e do desvio padrão estão inseridos numa tabela.

Fiz uma macro mas basicamente se correr a macro, acontece isto :

=STDEV(IF((rd_process[@[pr.dates]]>=J$4)*(rd_process[@[pr.dates]]<=J$5)*(rd_process[@[pr.Kfeed_flow_kln_1_tph]]>=$G52)*(rd_process[@[pr.Kfeed_flow_kln_1_tph]]<=$H52)*(rd_process[@[pr.Valid_Periods]]=1)*(rd_process[@[pr.UC3_aa.a_00xx.*****]]=J$9);rd_process[pr.Kfeed_flow_kln_1_tph]))

Estes parentesis e arroba não deveriam estar ali, porque eu faço a formula na macro sem aquilo. Fiz para as médias com base no mesmo critério e correu bem, no desvio padrão o PC assume o cabeçalho da coluna ta dabela não sei porquê.

Já estive a ler um pouco e pelo que vi é porque o desvio padrão não é uma array formula ?

Na macro é esta a linha para gerar a formula:

Range("J" & i).Value = "=stdev(if(" & str4 & "*" & str5 & "*" & str6 & "," & variable & "))"

STR4, 5, e 6 são strings com as condições. Por exemplo a string 4:

str4 = "(" & datedb & ">=" & dateI & ")*(" & datedb & "<=" & dateF & ")"

A datedb é a data que eu pre seleciono na minha folha, dateI e dateF são máximos e mínimos.
 
Boa noite. Existe alguma fórmula para contar células com pelo menos 1 algarismo?
Acho que é isto que queres (ver se o texto contém pelo menos 0, 1, 2, 3, 4, 5, 6, 7, 8 ou 9):
Código:
=COUNT(FIND({0;1;2;3;4;5;6;7;8;9};A1))>0
Como descobri? Escrevi "excel check if cell has at least one number" no Google e escolhi este resultado que me deu a resposta: https://exceljet.net/formulas/cell-contains-number

Edit: Esta fórmula diz se tem ou não. Depois é necessário contar o número de TRUE devolvidos. Se tiveres as fórmulas em português, tens de adaptar às designações portuguesas.
 
Última edição:
Boas, Queria que me ajudassem numa solução ou se é possível. Vou tentar explicar o que proponho:

Ex: No excel tenho colunas como Nome, Data nascimento, BI, NIF etc etc..., e no word tenho um formulário com o Nome, data nascimento, BI, NIF etc etc... mas por preencher.
É possível transportar a informação do excel para o word preenchendo o formulário automaticamente usando o nome do ficheiro word (seria o nome da pessoa ex: maria joão.docx) como referência?

obrigado.
 
Diria que para usar o nome do ficheiro como fonte de dados será necessário criar uma Macro em VBA... Penso não ser este o caminho que pretendes.

Não sei se algo deste tipo poderá servir para o que pretendes (não vi o vídeo, só conheço a funcionalidade por alto, sem nunca ter usado)
 
Diria que para usar o nome do ficheiro como fonte de dados será necessário criar uma Macro em VBA... Penso não ser este o caminho que pretendes.

Não sei se algo deste tipo poderá servir para o que pretendes (não vi o vídeo, só conheço a funcionalidade por alto, sem nunca ter usado)

Obrigado pelo video. Já vi o video e não é bem o que pretendo. Pelo que percebi do video, preenche sim o formulário num só documento e o objetivo é enviar em bruto por email para cada pessoa e não é isso que pretendo.

Simplesmente, o que pretendia era: Tenho vários ficheiros word (peço desculpa mas eu li agora o que escrevi no meu post anterior e não mencionei que eram vários ficheiros) em que cada um com o nome da pessoa como nome de ficheiro (seria para usar como referência para a macro ler) para que quando abrisse cada um deles, o word iria buscar a informação em falta ao excel e preencher automaticamente o formulário (nome, data nascimento, etc...).

Heads up: não percebo nada de macros :S
 
Acho que a ideia é imprimir em bruto cartas em papel (ou PDF, se escolhermos essa impressora), não enviar e-mails. Em todo o caso, não estou muito familiarizado com a ferramenta.

Para o que pretendes, só com uma macro. Tendo em conta que não percebes de macros, torna-se difícil...
 
Acho que a ideia é imprimir em bruto cartas em papel (ou PDF, se escolhermos essa impressora), não enviar e-mails. Em todo o caso, não estou muito familiarizado com a ferramenta.

Para o que pretendes, só com uma macro. Tendo em conta que não percebes de macros, torna-se difícil...
talvez se alguém me facultar um exemplo de um código para a macro...
 
talvez se alguém me facultar um exemplo de um código para a macro...

Se tens os dados em excel usa-os para criar uma series de ficheiros do word. Já fiz isso, tinha uma lista de nomes e endereços e fiz dezenas de cartas automaticamente.

Tens de fazer um modelos no word e depois certos espaços vão buscar os dados ao excel.

aqui está em português do brasil, em português europeu chama-se impressão em serie.
 
Back
Topo