Aplicação em VBA
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Aplicação em VBA
Boa noite amigos,
Eu estou a construir uma ferramenta para a elaboração de orçamentos, na qual estou a fazer que apareçam os SUB-TOTAIS em certas partes do orçamento.
Coloquei algumas fórmulas, de modo a que, ao marcar-se um "x" num determinado local, aparece na célula à esquerda (mesma linha), o valor do SUB-TOTAL, conforme podem ver na imagem que vos apresento a seguir.
O que gostaria de saber é: alguem conhece o código em VBA que coloque a negrito o resultado do SUB-TOTAL?
Apesar ter algum conhecimento em Visual Basic, não sei como o aplicar às aplicações de excel.
Obrigado, desde já, pela vossa atenção
Eu estou a construir uma ferramenta para a elaboração de orçamentos, na qual estou a fazer que apareçam os SUB-TOTAIS em certas partes do orçamento.
Coloquei algumas fórmulas, de modo a que, ao marcar-se um "x" num determinado local, aparece na célula à esquerda (mesma linha), o valor do SUB-TOTAL, conforme podem ver na imagem que vos apresento a seguir.
O que gostaria de saber é: alguem conhece o código em VBA que coloque a negrito o resultado do SUB-TOTAL?
Apesar ter algum conhecimento em Visual Basic, não sei como o aplicar às aplicações de excel.
Obrigado, desde já, pela vossa atenção
Re: Aplicação em VBA
O Excel, tem uma ferramenta muito poderosa de sub-totais que uso constantemente. Está (no excel 2003) em Dados -> Subtotais.
Básicamente, crias uma tabela em que uma das colunas vais se usada com referência para fazer os subtotais. No exemplo que anexo, tenho uma coluna que chamei Equipamentos, quando vou a Dados -> Subtotais, no Excel aparece um ecrã que diz basicamente, quando "Equipamento" alterar, vai "Somar" as colunas "Total".
Depois de fazer OK, aparecem os subtotais por baixo de cada equipamento e o total no fim da tabela, do lado esquerdo (à esquerda do nº das linha a cinza) aparecem 3 icon pequenos, que correspondem a ver tudo (3), esconder dados (ver apenas subtotais e totais (2), ver apenas totais (1), aparece ainda uma série de (+) e (-) que permite expandir ou esconder parte do orçamento.
Básicamente, crias uma tabela em que uma das colunas vais se usada com referência para fazer os subtotais. No exemplo que anexo, tenho uma coluna que chamei Equipamentos, quando vou a Dados -> Subtotais, no Excel aparece um ecrã que diz basicamente, quando "Equipamento" alterar, vai "Somar" as colunas "Total".
Depois de fazer OK, aparecem os subtotais por baixo de cada equipamento e o total no fim da tabela, do lado esquerdo (à esquerda do nº das linha a cinza) aparecem 3 icon pequenos, que correspondem a ver tudo (3), esconder dados (ver apenas subtotais e totais (2), ver apenas totais (1), aparece ainda uma série de (+) e (-) que permite expandir ou esconder parte do orçamento.
- Anexos
-
- Exemplo.JPG (89.5 KiB) Visto 1973 vezes
Ricardo Timóteo
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Re: Aplicação em VBA
Obrigado amigo,nokPT Escreveu:O Excel, tem uma ferramenta muito poderosa de sub-totais que uso constantemente. Está (no excel 2003) em Dados -> Subtotais.
Básicamente, crias uma tabela em que uma das colunas vais se usada com referência para fazer os subtotais. No exemplo que anexo, tenho uma coluna que chamei Equipamentos, quando vou a Dados -> Subtotais, no Excel aparece um ecrã que diz basicamente, quando "Equipamento" alterar, vai "Somar" as colunas "Total".
Depois de fazer OK, aparecem os subtotais por baixo de cada equipamento e o total no fim da tabela, do lado esquerdo (à esquerda do nº das linha a cinza) aparecem 3 icon pequenos, que correspondem a ver tudo (3), esconder dados (ver apenas subtotais e totais (2), ver apenas totais (1), aparece ainda uma série de (+) e (-) que permite expandir ou esconder parte do orçamento.
E para os resultados dos sub-totais aparecerem a negrito, basta fazer uma formatação condional?
Re: Aplicação em VBA
Já aparecem a negrito automáticamente, mas também podes formatar automáticamente (não sei como se faz porque nunca precisei).
Ricardo Timóteo
- patinhofeio
- Quadro de Honra
- Mensagens: 513
- Registado: 30 mar 2008, 10:45
- Localização: 150 Km de Lisboa
Re: Aplicação em VBA
Boas.
Ou eu não percebi, ou isso é mais simples que estão a imaginar.
Na celula dos sub-totais, basta formatar o tipo de letra/célula para negrito. Nessa mesma célula, coloca-se a formula de cálculo, oculta e protegida para não permitir ser mudada nem vista. Sempre que a formula é calculada, o resultado é apresentado no tipo de letra/cor que foi definido como tipo para essa célula.
Abraço
PS: Tudo isto sem ser preciso VB. Tenho folhas de orçamentos feitas assim.
Ou eu não percebi, ou isso é mais simples que estão a imaginar.
Na celula dos sub-totais, basta formatar o tipo de letra/célula para negrito. Nessa mesma célula, coloca-se a formula de cálculo, oculta e protegida para não permitir ser mudada nem vista. Sempre que a formula é calculada, o resultado é apresentado no tipo de letra/cor que foi definido como tipo para essa célula.
Abraço
PS: Tudo isto sem ser preciso VB. Tenho folhas de orçamentos feitas assim.
Aprender sem pensar é tempo perdido - Confúcio
Participar neste fórum é um privilégio e não um direito
A vida é uma escola. Quem não aprende com a vida, considere-se morto
Participar neste fórum é um privilégio e não um direito
A vida é uma escola. Quem não aprende com a vida, considere-se morto
Re: Aplicação em VBA
Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
Ricardo Timóteo
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Re: Aplicação em VBA
É exactamente isso que pretendo.nokPT Escreveu:Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
O que o amigo patinhofeio diz é certo, mas para orçamentos grandes dá algum trabalho. O tempo é um recurso muito valioso e eu estou a tentar rentabiliza-lo.
Já experimentei com o código em Visual basic e está a resultar.
o Código ficou assim:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(Cells("an"), Cells(Cells.Rows.Count, "an"))) Is Nothing Then
If UCase(Target.Value) = "X" Then
Cells(Target.Row, "ag").Font.Bold = True
Cells(Target.Row, "k").Font.Bold = True
Cells(Target.Row, "w").Font.Bold = True
Else
Cells(Target.Row, "ag").Font.Bold = False
Cells(Target.Row, "k").Font.Bold = False
Cells(Target.Row, "w").Font.Bold = False
End If
End If
If Not Intersect(Target, Range(Cells("ao"), Cells(Cells.Rows.Count, "ao"))) Is Nothing Then
If UCase(Target.Value) = "X" Then
Cells(Target.Row, "ag").Font.Bold = True
Cells(Target.Row, "k").Font.Bold = True
Cells(Target.Row, "w").Font.Bold = True
Else
Cells(Target.Row, "ag").Font.Bold = False
Cells(Target.Row, "k").Font.Bold = False
Cells(Target.Row, "w").Font.Bold = False
End If
End If
End Sub
Graças ao participante jpaulino do forum http://www.portugal-a-programar.org consegui chegar à solução
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Re: Aplicação em VBA
O que queres dizer com resultado final? O código todo?mitos Escreveu:E não queres colocar aqui o resultado final
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Re: Aplicação em VBA
Amigos,
Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.
Cumps,
Electro 99
Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.
Cumps,
Electro 99
- mitos
- Velha Guarda
- Mensagens: 264
- Registado: 02 jul 2009, 15:37
- Localização: Torres Vedras
- Enviou: 1 vez
- Agradecimento recebido: 17 vezes
Re: Aplicação em VBA
Lamentavelmente não posso vizualizar pois tenho o Office 2003...Electro 99 Escreveu:Amigos,
Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.
Cumps,
Electro 99
tenho que tentar logo em casa...
mas de qualquer modo obrigado por partilhares
Ipse se nihil scire id unum sciat
MiToS
MiToS
Re: Aplicação em VBA
Há um update na microsoft para permitir o Office 2003 abrir ficheiros do 2007, é só fazer a actualização.
Ricardo Timóteo
- mitos
- Velha Guarda
- Mensagens: 264
- Registado: 02 jul 2009, 15:37
- Localização: Torres Vedras
- Enviou: 1 vez
- Agradecimento recebido: 17 vezes
Re: Aplicação em VBA
não tenho permissões no PC do meu trabalho.........nokPT Escreveu:Há um update na microsoft para permitir o Office 2003 abrir ficheiros do 2007, é só fazer a actualização.
as politicas de segurança de rede são rigorosas
Ipse se nihil scire id unum sciat
MiToS
MiToS
-
- Velha Guarda
- Mensagens: 1084
- Registado: 26 fev 2009, 18:21
- Enviou: 5 vezes
- Agradecimento recebido: 3 vezes
Re: Aplicação em VBA
Depois dá a tua opinião.mitos Escreveu:Lamentavelmente não posso vizualizar pois tenho o Office 2003...Electro 99 Escreveu:Amigos,
Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.
Cumps,
Electro 99
tenho que tentar logo em casa...
mas de qualquer modo obrigado por partilhares
- patinhofeio
- Quadro de Honra
- Mensagens: 513
- Registado: 30 mar 2008, 10:45
- Localização: 150 Km de Lisboa
Re: Aplicação em VBA
Boas.Electro 99 Escreveu:É exactamente isso que pretendo.nokPT Escreveu:Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
O que o amigo patinhofeio diz é certo, mas para orçamentos grandes dá algum trabalho. O tempo é um recurso muito valioso e eu estou a tentar rentabiliza-lo.
...
Se já resolveste, melhor assim.
No meu caso, a folha foi formatada para páginas A4, e colei várias vezes o formulário pelo excel abaixo. Se o orçamento couber numa folha, imprimo só a 1ª folha; se não couber, embora faça o subtotal em cada folha, transporta esse valor de folha para folha.
Para fazer com código VB, sugería fazer de raíz em visual basic, o que tornava uma aplicação independente, e capaz de funcionar mesmo em computadores sem excel. É uma ideia, para quem quiser pegar nela.
Abraço
Aprender sem pensar é tempo perdido - Confúcio
Participar neste fórum é um privilégio e não um direito
A vida é uma escola. Quem não aprende com a vida, considere-se morto
Participar neste fórum é um privilégio e não um direito
A vida é uma escola. Quem não aprende com a vida, considere-se morto