segunda-feira, 4 de maio de 2009

Office 2003 x Office 2007

A grande diferença entre os aplicativos Office 2003 e Office 2007 é, logo de início, a interface.
Nos últimos dois posts, coloquei as figuras com as telas do Excel 2003 e Excel 2007. É possível ampliar as figuras clicando sobre elas.
No Excel 2003, a configuração da tela é baseada nas barras de menu e de ferramentas. Dessa forma todos os comandos são encontrados através de botões ou opções de menus. O que, podemos concordar com isso, é redundante. O grande problema é que todos usuáros estão acostumados com essa configuração.
No Excel 2007, temos o sitema de Guias e grupos de comandos dentro delas. Para utilizar um comando é necessário saber em qual guia ele se encontra. Isso atrapalha quem já está acostumado com as barras de ferramentas e menus, sente a diferença.
Vejamos um exemplo. Para gravar uma macro no Excel 2003 usando o menu, clica-se no menu ferramentas --> macro --> gravar nova macro.
Já no 2007 é necessário clicar na Guia Exibição (o que é que tem haver com macros? Nada!) --> macros --> gravar nova macro.
Aparetemente muito fácil. Não dá pra reclamar. Porém, tente gravar o arquivo e você receberá um aviso do tipo: "Os recursos a seguir não podem ser salvos em pastas de trabalho sem macro."
Se você responder sim e fechar o arquivo, da próxima vez que abrí-lo cadê a macro?
Todo o arquivo que tiver, deve ser gravado como pasta de trabalho de macro.
Eita novidade chata, hem?

sexta-feira, 17 de abril de 2009

A interface do Excel 2007


Algumas semanas atrás publiquei a interface do Excel 2003 e agora estou publicando a interface da versão 2007 exatamente para analisar as alterações, que foram muitas.

quarta-feira, 8 de abril de 2009

terça-feira, 7 de abril de 2009

Excel com VBA

Habilitando e desabilitando caixa de texto dentro da planilha.

Esta é uma dica de programação.

1)Em qualquer planilha de uma pasta do Excel crie uma caixa de texto utilizando a barra de ferramentas "Caixa de Ferramentas de Controle" (pode ser outro controle também);
2)Para escrever algo dentro da caixa de texto, você deve estar trabalhando no modo de edição e não no modo de design (veja o primeiro botão da Caixa de Ferramentas de Controle);
3)Para evitar que outro usuário ou você mesmo venha a modificar o texto escrito da caixa de texto, é necessário desabilitá-la. Existe duas formas de desabilitar um elemento de controle:
Primeira - utilizando a propriedade "Enable" do controle.
a)Alterne o trabalho com a caixa de texto para o modo de design (clique no botão modo de design na Caixa de Ferramentas de Controle);
b)Clique com o botão direito do mouse na caixa de texto e depois selecione com o botão esquerdo a opção Propriedades. Deverá aparecer uma janela com as propriedades da caixa de texto;
c)Procure a propriedade Enable e altere o valor para falso (false em inglês).
Segunda - utilizando eventos através de um outro controle, por exemplo dois botões de comando.
a)Crie dois botões de comando através da Caixa de Ferramentas de Controle;
b)Clique com o botão direito em um dos botões e selecione Exibir Código (você deve estar trabalhando no modo de design);
c)Escreva o código abaixo que é o evento que acontecerá quando o usuário clicar no botão:
Private Sub CommandButton1_Click()
TextBox1.Enabled = False
End Sub
TextBox1 é o nome da caixa de texto e que aparece nas propriedades do controle, ou seja, se o nome do controle não for esse, é só verificar nas propriedades.
d)Clique com o botão direito do mouse no outro botão de comando e repita as operações b e c, digitando o seguinte código:
Private Sub CommandButton2_Click()
TextBox1.Enabled = True
End Sub
Para testar:
a)Retorne ao Excel;
b)Volte ao modo de edição;
c)Clique nos botões e verifique que a caixa de texto fica habilitada e/ou desabilitada.

terça-feira, 31 de março de 2009

Treinamentos

Treinamentos nas versões 2002, 2003 ou 2007 dos aplicativos:
Ms-Project Básico, Avançado e Programável (com VBA)
Ms-Excel Básico, Avançado e Programável (com VBA)
Ms-Access Básico, Avançado e Programável (com VBA)
Ligue (81) 99643969

Ms-Excel com VBA - Dica de Programação

Introdução
Durante um treinamento de Excel com VBA um participante me perguntou se havia alguma maneira de fazer uma célula do Excel ficar piscando enquanto o arquivo do Excel estivesse aberto. A idéia é chamar atenção para uma determinada célula da planilha.
Apesar dos novos recursos de formatação condicional da versão 2007 do Excel, não conheço nenhuma forma de fazer uma célula ficar piscando com uma determinada cor enquanto a planilha estiver ativa e como o curso era de Excel com VBA, decidi escrever um código que permitisse realizar essa ação.
Como fazer
Inicie o Excel e em qualquer planilha e com qualquer célula selecionada, inicie o Visual Basic, através do menu Ferramentas -> Macro -> Editor do Visual Basic.
Incira um novo módulo padrão e digite o código abaixo:

Sub Piscar()
Selection.Interior.ColorIndex = 3
Application.OnTime Now + TimeValue("00:00:01"), "Tempo"
End Sub

Esse código executará duas ações: primeiro colocar a cor vermelha na célula que está ativa e a segunda linha aplica o método OnTime que permite executar o procedimento Tempo no intervalo de 1 em 1 segundo.

Em seguida, escreva o procedimento abaixo:

Sub Tempo()
Selection.Interior.ColorIndex = xlNone
Application.OnTime Now + TimeValue("00:00:01"), "Piscar"
End Sub

O procedimento Tempo executa duas ações: a primeira linha coloca na célula ativa a cor de preenchimento nenhuma (xlNone) e a segunda linha tem o método OnTime que executa o procedimento Piscar no intervalo de 1 em 1 segundo.

Clique no botão executar sub ou userform na janela do Visual Basic e depois retorne para qualquer planlilha e verifique se a célula ativa está piscando na cor vermelha.

sexta-feira, 27 de março de 2009

Excel Básico - Operadores

É muito comum os usuários utilizarem o Excel sem conhecer todos os operadores. Esta é uma dica do Excel Básico.
Operadores Aritméticos

adição + =A1+B1 (adiciona os valores de A1 e B1)

subtração - =D10-C20 (subtrai os valores de D10 e C20)

multiplicação * =H8*20 (multiplica o valor de H8 por vinte)

divisão / =J30/H1 (divide o valor de J30 pelo valor de H1, se H1=0 retorna um erro)

percentagem % =B20*10% (multiplica o valor de B20 por 10%)

exponenciação ^ (é o acento circunflexo mesmo) =B6^B10 (eleva o valor de B6 em relação ao valor de B10)

Operadores de Comparação

igualdade = NÃO É PRECISO EXPLICAR ESSE, NÃO É?

maior do que > Se você digitar na célula B10 a fórmula =B6>B7, onde B6=8 e B7=7, então o Excel retornará o valor Verdadeiro.

maior ou igual a >= (observe que o símbolo > vem sempre antes do símbolo de =) Digite na célula H10 a fórmula =J1>=J2 que o Excel retornará verdadeiro se o valor de J1 for maior ou igual ao valor de J2.

menor do que < Se você digitar na célula H20 a fórmula = B1 < B2 o Excel retornará Verdadeiro se o valor da célula B1 for menor do que o da célula B2.

menor ou igual a <= (observe que o símbolo < vem sempre antes do =) Se você digitar na célula L20 a fórmula =L1<=Carlos retornará Verdadeiro para qualquer nome digitado em L1 que começe com A, B ou Ca.

diferente de <> Retornará Verdadeiro se os valores comparados forem diferentes e Falso se os valores forem iguais.

Operadores de Concatenação de Texto
Concatenar texto é unir textos, ou seja, se você tem na célula A1 o nome Ary e na célula B10 o sobrenome Nascimento, utilizando o concatenador de texto da célula C2 você obterá Ary Nascimento.

concatenador & (É o e comercial) Escreva =A1&B10 em uma célula qualquer e veja o resultado, onde A1 e B10 tem valores de texto.

Operadores de Referência

operador de intervalo : (dois pontos) Representa um intervalo de células contínuas. Digite na célula D10 a fórmula =Soma(G10:G20) e obtenha a soma de todos os valores do intervalo.

operador de união ; (ponto e vírgula) Representa um intervalo de célula alternadas. Digite na célula F10 a fórmula =Soma(G2;H7;J2;L15;M10:M20) e obtenha a soma de G2 mais H7 mais J2 mais L15 mais a soma de M10 até M20.

operador de intersecção (espaço em branco) Representa um intervalo de células que é a intersecção de outros dois intervalos (Obs: se esses intervalos não tiverem intersecção, o operador retorna um erro). Digite na célula B8 a fórmula =Soma((C4:C8) (C6:C10)) para obter a soma dos intervalos C6, C7 e C8 que formam a intersecção entre C4:C8 e C6:C10.