Aplicação em VBA

Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Aplicação em VBA

Mensagem por Electro 99 »

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.
SUB-TOTAL.bmp
SUB-TOTAL.bmp (1.15 MiB) Visto 1978 vezes
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 :)


nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Agradecimento recebido: 1 vez

Re: Aplicação em VBA

Mensagem por nokPT »

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.
Anexos
Exemplo.JPG
Exemplo.JPG (89.5 KiB) Visto 1973 vezes
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Re: Aplicação em VBA

Mensagem por Electro 99 »

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.
Obrigado amigo,

E para os resultados dos sub-totais aparecerem a negrito, basta fazer uma formatação condional?
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Agradecimento recebido: 1 vez

Re: Aplicação em VBA

Mensagem por nokPT »

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
Avatar do Utilizador
patinhofeio
Quadro de Honra
Quadro de Honra
Mensagens: 513
Registado: 30 mar 2008, 10:45
Localização: 150 Km de Lisboa

Re: Aplicação em VBA

Mensagem por patinhofeio »

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.
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
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Agradecimento recebido: 1 vez

Re: Aplicação em VBA

Mensagem por nokPT »

Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Re: Aplicação em VBA

Mensagem por Electro 99 »

nokPT Escreveu:Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
É exactamente isso que pretendo.

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 :)
Avatar do Utilizador
mitos
Velha Guarda
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

Mensagem por mitos »

E não queres colocar aqui o resultado final
Ipse se nihil scire id unum sciat
MiToS
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Re: Aplicação em VBA

Mensagem por Electro 99 »

mitos Escreveu:E não queres colocar aqui o resultado final
O que queres dizer com resultado final? O código todo?
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Re: Aplicação em VBA

Mensagem por Electro 99 »

Amigos,

Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.

Cumps,

Electro 99
21JUL2009 - Aplicação Orçamento.xlsm
(685.51 KiB) Transferido 416 vezes
Avatar do Utilizador
mitos
Velha Guarda
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

Mensagem por mitos »

Electro 99 Escreveu:Amigos,

Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.

Cumps,

Electro 99
21JUL2009 - Aplicação Orçamento.xlsm
Lamentavelmente não posso vizualizar pois tenho o Office 2003...
tenho que tentar logo em casa...

mas de qualquer modo obrigado por partilhares
Ipse se nihil scire id unum sciat
MiToS
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Agradecimento recebido: 1 vez

Re: Aplicação em VBA

Mensagem por nokPT »

Há um update na microsoft para permitir o Office 2003 abrir ficheiros do 2007, é só fazer a actualização.
Ricardo Timóteo
Avatar do Utilizador
mitos
Velha Guarda
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

Mensagem por mitos »

nokPT Escreveu:Há um update na microsoft para permitir o Office 2003 abrir ficheiros do 2007, é só fazer a actualização.
não tenho permissões no PC do meu trabalho.........
as politicas de segurança de rede são rigorosas
Ipse se nihil scire id unum sciat
MiToS
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1084
Registado: 26 fev 2009, 18:21
Enviou: 5 vezes
Agradecimento recebido: 3 vezes

Re: Aplicação em VBA

Mensagem por Electro 99 »

mitos Escreveu:
Electro 99 Escreveu:Amigos,

Apesar de estar demasiado modesta, envio-vos a ferramenta que vos tenho estado a falar.

Cumps,

Electro 99
21JUL2009 - Aplicação Orçamento.xlsm
Lamentavelmente não posso vizualizar pois tenho o Office 2003...
tenho que tentar logo em casa...

mas de qualquer modo obrigado por partilhares
Depois dá a tua opinião.
Avatar do Utilizador
patinhofeio
Quadro de Honra
Quadro de Honra
Mensagens: 513
Registado: 30 mar 2008, 10:45
Localização: 150 Km de Lisboa

Re: Aplicação em VBA

Mensagem por patinhofeio »

Electro 99 Escreveu:
nokPT Escreveu:Eu acho que a questão é mais fazer tudo automaticamente para poupar tempo e/ou aumentar a produtividade
É exactamente isso que pretendo.

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.
...
Boas.
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
Responder

Voltar para “Discussão Informática”