Você está na página 1de 160

EXCEL PARA

ENGENHEIROS
O USO DO MS-EXCEL COMO FERRAMENTA AUXILIAR
NA RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA.

FREDERICO RIBEIRO DO CARMO


NATHAN SOMBRA EVANGELISTA

1ª EDIÇÃO – MAIO, 2015


RESUMO

Este curso tem por objetivo apresentar noções básicas, intermediárias e avançadas sobre o
Microsoft Excel 2013®. Ao final deste curso, você terá aprendido a utilizar poderosas
ferramentas que lhes pouparão tempo e esforço na resolução de problemas com níveis de
complexidade variados, incluindo aqueles comumente encontrados na rotina diária de
estudantes e profissionais dos diversos ramos da Engenharia. O curso será ministrado ao
longo de quatro diferentes aulas, sendo as duas primeiras para apresentação e exploração das
ferramentas básicas e intermediárias presentes nas planilhas eletrônicas; na terceira aula, será
apresentada a linguagem de programação VBA (do inglês Visual Basic for Applications), a qual
está presente em todos os softwares do pacote Office, e sua potencial aplicação no
desenvolvimento de programas; no último encontro, serão analisados alguns problemas
comumente encontrados por estudantes de Engenharia Química e Engenharia de Petróleo.
Finalmente, utilizando as ferramentas aprendidas nos três encontros anteriores, esses
problemas serão resolvidos.

SOBRE OS AUTORES
Frederico Ribeiro do Carmo é professor Adjunto-A do Departamento de Ciências Exatas,
Tecnológicas e Humanas (DCETH) da Universidade Federal Rural do Semi-Árido
(UFERSA) e Pesquisador Associado do Grupo de Pesquisa em Termofluidodinâmica
Aplicada (GPTA), vinculado ao Departamento de Engenharia Química (DEQ) da
Universidade Federal do Ceará. Na pesquisa, atua principalmente com desenvolvimento e
aplicação de modelos termodinâmicos e equações de estado para sistemas combustíveis e
líquidos iônicos, além de desenvolver trabalhos na área de “projeto de componentes
químicos” (do inglês chemical product design). Possui ampla experiência no desenvolvimento de
softwares e banco de dados para aplicações em Engenharia Química.

Nathan Sombra Evangelista é estudante de pós-graduação em Engenharia Química (nível


doutorado) pelo Departamento de Pós-Graduação em Engenharia Química da Universidade
Federal do Ceará (PPGEQ-UFC). Nessa Universidade, obteve o título de mestre (2015.1) e
bacharel (2013.1) em Engenharia Química. É vinculado ao Grupo de Pesquisa em
Termofluidodinâmica Aplicada (GPTA). Na pesquisa, atua na área científica da
Termodinâmica aplicada à Engenharia Química, especificamente no desenvolvimento e
aplicação de modelos para cálculos de propriedades de interesse para o projeto de processos
que envolvam líquidos iônicos e/ou biodiesel. Há aproximadamente um ano e meio, tem
desenvolvido softwares de uso pessoal em MS-Excel 2013.
SUMÁRIO

PREFÁCIO 5

CAPÍTULO 1 CONCEITOS E FERRAMENTAS BÁSICAS 6

1.1 COMPONENTES BÁSICOS DO EXCEL 6


1.2 AS CÉLULAS 8
1.2.1 SUBCOMPONENTES 8
1.2.2 TIPOS DE CONTEÚDO 9
1.2.3 APARÊNCIA 11
1.3 OPERADORES E FÓRMULAS 16
1.4 OPERADORES ARITMÉTICOS 16
1.5 OPERADORES LÓGICOS 17
1.6 OUTROS OPERADORES ÚTEIS 18
1.7 FUNÇÕES DA BIBLIOTECA DO EXCEL 19
1.7.1 MATEMÁTICAS 19
1.7.2 LÓGICAS 20
1.7.3 ESTATÍSTICAS 23
1.7.4 MATRICIAIS 25
1.7.5 OUTRAS FUNÇÕES ÚTEIS 26
1.7.6 REPLICAÇÃO DE FUNÇÕES 29
1.8 TABELAS 31
1.8.1 FORMATAÇÃO DE DADOS COMO TABELAS 31
1.8.2 TABELAS DINÂMICAS 34
1.9 GRÁFICOS 37
1.9.1 BIDIMENSIONAIS 37
1.9.2 TRIDIMENSIONAIS 46

CAPÍTULO 2 MANIPULANDO DADOS 50

2.1 A GUIA “DADOS” 50


2.2 OBTENDO DADOS EXTERNOS 50
2.2.1 OBTENÇÃO DE DADOS DE UM ARQUIVO .PDF UTILIZANDO UM ARQUIVO DO TIPO TEXTO
COMO INTERMEDIÁRIO 51
2.3 O FORMULÁRIO DE DADOS 57
2.3.1 ADICIONANDO O BOTÃO “FORMULÁRIO DE DADOS” À BARRA DE FERRAMENTAS 57
2.3.2 USANDO O FORMULÁRIO DE DADOS 58
2.3.3 ADICIONANDO NOVOS REGISTROS COM O FORMULÁRIO DE DADOS 59
2.3.4 EDITANDO REGISTROS COM O FORMULÁRIO DE DADOS 60
2.3.5 ENCONTRANDO REGISTROS COM O FORMULÁRIO DE DADOS 60
2.3.6 DELETANDO REGISTROS COM O FORMULÁRIO DE DADOS 62
2.4 CLASSIFICANDO E FILTRANDO DADOS 63
2.4.1 CLASSIFICANDO DADOS 63
2.4.2 FILTRANDO DADOS 67
2.5 ELIMINANDO REGISTROS COM CAMPOS DUPLICADOS 71
2.6 CRIANDO UMA LISTA SUSPENSA NA CÉLULA 72

CAPÍTULO 3 RESOLVENDO PROBLEMAS NUMÉRICOS NO EXCEL 75

3.1 O ATINGIR META 75


3.2 O SOLVER 82
3.2.1 INSTALANDO O “SOLVER” 82
3.2.2 UTILIZANDO MACROS ERRO! INDICADOR NÃO DEFINIDO.

CAPÍTULO 4 VISUAL BASIC FOR APPLICATIONS (VBA) 93

4.1 CONCEITOS PRELIMINARES 93


4.2 ACESSANDO A JANELA DE CÓDIGO 95
4.3 VARIÁVEIS 96
4.3.1 PONTUAIS, VETORES E MATRIZES 97
4.3.2 TIPOS 98
4.3.3 DECLARAÇÃO 99
4.3.4 VARIÁVEIS PONTUAIS 100
4.3.5 VETORES 102
4.3.6 MATRIZES 103
4.4 ATRIBUIÇÃO DE VALORES 104
4.4.1 VARIÁVEIS PONTUAIS 104
4.4.2 VETORES 105
4.4.3 MATRIZES 106
4.5 PROCEDIMENTOS 106
4.5.1 SUBROTINAS 106
4.5.2 FUNÇÕES 109
4.5.2.1 Algumas funções úteis do VBA 111
4.5.3 CHAMADAS DE PROCEDIMENTOS 112
4.6 ESTRUTURAS DE DECISÃO 114
4.6.1 IF...THEN 115
4.6.2 IF…THEN…ELSE 115
4.6.3 IF…THEN…ELSEIF 116
4.6.4 IF…THEN…ELSEIF…THEN…ELSE 117
4.7 COMPARAÇÃO EM CONJUNTO 119
4.7.1 SELECT CASE 121
4.8 ESTRUTURAS DE LAÇO 122
4.8.1 FOR…NEXT 123
4.8.2 WHILE…WEND 127
4.8.3 DO…LOOP 131
4.9 INSPEÇÃO DE ERROS EM CÓDIGOS 132

CAPÍTULO 5 APLICAÇÕES 137

5.1 CRIANDO UM MENU SIMPLES PARA UM BANCO DE DADOS 137


5.2 BALANÇO MATERIAL SEM REAÇÃO EM SISTEMA ESTACIONÁRIO 141
5.3 BALANÇO MATERIAL COM REAÇÃO EM SISTEMA ESTACIONÁRIO 147
5.4 BALANÇO MATERIAL COM REAÇÃO E RECICLO 152
5.5 CÁLCULO DO VOLUME DO GÁS NATURAL UTILIZANDO AS EQUAÇÕES DE SRK E PR.
153
5.6 REPRESENTAÇÃO E REGRESSÃO DE DADOS DE PRESSÃO DE VAPOR ATRAVÉS DAS
EQUAÇÕES DE ANTOINE, DIPPR E WAGNER 156
5.7 EQUILÍBRIO LÍQUIDO-VAPOR DE SISTEMAS BINÁRIOS E MULTICOMPONENTES IDEAIS
157
5.8 BALANÇO DE ENERGIA EM UM TANQUE FLASH ADIABÁTICO 158
5

PREFÁCIO

O MS-Excel 2013 é um software amplamente utilizado por cientistas e


profissionais dos diversos ramos da Engenharia. Isto porque essa ferramenta é
amplamente disponível a baixo custo (diferentemente da maioria dos simuladores
comerciais) e dado o fato de seus recursos permitirem a resolução de problemas
complexos de forma simples. Ainda assim, na maioria dos cursos de graduação de
Engenharia, os estudantes não aprendem a utilizá-la de forma eficiente, o que, de certa
forma, pode prejudicar o entendimento dos conceitos relacionados às diversas disciplinas.
Diante disso, este material tem por objetivo apresentar o potencial deste software na vida
profissional de estudantes, cientistas e Engenheiros (sobretudo os Químicos e de
Petróleo). Embora seja de natureza introdutória, este material contém valiosas dicas e
conceitos que, a depender do comprometimento e da criatividade do leitor, podem ser
utilizados para a resolução de problemas encontrados em seu dia-a-dia profissional.
Durante todo este texto, os autores procuraram expor os conceitos teóricos de
forma sucinta e didática, de forma a tornar o conhecimento acessível mesmo para os
leitores que não possuem familiaridade alguma com o referido software. Para melhor
entendimento de algumas das ferramentas apresentadas, foram elaboradas atividades
didáticas (a maioria das quais são relacionadas ao universo da Engenharia) referentes aos
assuntos em questão. A resolução de alguma dessas atividades é documentada neste
material; as outras serão resolvidas na sala de aula.
O primeiro capítulo deste material apresenta noções básicas para usuários
iniciantes. Em síntese, esse capítulo apresenta conceitos e ferramentas elementares que
podem ser acessados no ambiente da planilha eletrônica: componentes básicos, fórmulas
matemáticas, biblioteca de funções, construção de tabelas e de gráficos em duas e três
dimensões. O segundo capítulo detalha algumas ferramentas para a manipulação de
grandes quantidades de dados. O terceiro capítulo ilustra a utilização de ferramentas para
a resolução de problemas matemáticos numéricos. No quarto capítulo, são introduzidos
os conceitos fundamentais inerentes a linguagem de programação VBA. Finalmente, no
último capítulo, toda a teoria apresentada é utilizada na resolução de problemas de
Engenharia Química e de Engenharia de Petróleo.
Acreditamos que não há uma abordagem única do conteúdo que possa satisfazer
a todas as necessidades. Portanto, sugerimos que o leitor utilize a criatividade para aplicar
as ferramentas apresentadas de forma a satisfazer suas necessidades profissionais.
Sugerimos também que as excelentes fontes presentes na bibliografia deste material
sejam consultadas como forma de aprofundamento do conhecimento.
Qualquer crítica ou sugestão a este material é bem-vinda.

Frederico Ribeiro
Nathan Sombra
6

CAPÍTULO 1 CONCEITOS E FERRAMENTAS BÁSICAS

Este capítulo tem por objetivo introduzir noções elementares sobre alguns
elementos e ferramentas básicas do Excel. É importante que os conceitos aqui
apresentados sejam aprendidos de forma consolidada, uma vez que servirão como alicerce
para os capítulos posteriores.

1.1 COMPONENTES BÁSICOS DO EXCEL

Ao abrir o Excel, surgirá uma nova pasta de trabalho em branco, automaticamente


denominada Pasta1. Esta é o objeto primário do Excel, podendo ser salva pelo usuário
em um arquivo de formato “.xlsx”. Em cada pasta de trabalho, há uma série de outros
objetos secundários, tal qual ilustrado na Figura 1.1:

Figura 1.1 - A pasta de trabalho e seus objetos

Conforme ilustrado, cada pasta de trabalho pode ser subdividida em algumas


seções menores, sendo essas de grande importância para o usuário:

 Aba Arquivo: quando ativada, esta aba disponibiliza uma série de comandos
relacionados à pasta de trabalho em questão, incluindo “Informações”, “Salvar”,
“Salvar Como”, “Exportar”, “Fechar” e “Opções”; esta última permite com que o
usuário realize mudanças em relação às configurações padrão do Excel, a exemplo
7

de “personalização de faixa de opções”, “inclusão de suplementos”, “alteração de


idioma” etc.
 Barra de Ferramentas: contém a maior parte das ferramentas do Excel; inicia na
aba “Página Inicial”, a qual contém uma série de comandos básicos para formatação
das células e termina na aba “Desenvolvedor”, que, dentre seus elementos, contém
uma aba de navegação pelo ambiente de programação em VBA.
 Barra de Fórmulas: contém o valor numérico ou as fórmulas inseridas em cada
célula da planilha eletrônica.
 Planilha Eletrônica: corresponde ao ambiente de interação entre o usuário e o
Excel. Em cada pasta de trabalho, pode haver uma ou mais planilhas eletrônicas, a
depender da necessidade do usuário. A Figura 1.2 ilustra alguns objetos de interesse
presente nas planilhas eletrônicas:

Figura 1.2 – A planilha eletrônica e seus objetos

Conforme ilustrado, o elemento básico que compõe as planilhas eletrônicas são as


células, nas quais o usuário pode introduzir suas fórmulas ou variáveis de interesse para
a realização de cálculos, bem como ler os resultados. Em cada pasta de trabalho do Excel
(versão 2013), são dispostas 17.179.869.184 células, dispostas em 1.048.576 linhas e
16.384 colunas. Cada célula pode ser identificada por uma letra do cabeçalho de colunas
e um número do cabeçalho de linhas; a identificação de cada célula está presente na
caixa de identificação. A navegação entre as células da planilha pode ser feita utilizando
as barras de rolagem. Para acessar uma célula específica de forma mais rápida, pode-se
pressionar a tecla “F5”. Finalmente, uma outra forma de navegação pela planilha inclui
a utilização dos comandos apresentados na Tabela 1.1.
8

Tabela 1.1 - Comandos de navegação da planilha eletrônica


Comando Ação
ou Tab Seleciona a célula imediatamente à direita
ou Shift + Tab Seleciona a célula imediatamente à esquerda
 Seleciona a célula imediatamente acima
"" Seleciona a célula imediatamente abaixo
Seleciona a célula “A1” a partir de qualquer ponto da
“Ctrl + Home”
planilha
Seleciona a próxima célula à direita (na mesma linha) que
“Ctrl +” contenha algum conteúdo; caso todas as células desta linha
estejam vazias, seleciona a sua última célula

Seleciona a próxima célula à esquerda (na mesma linha) que


“Ctrl +” contenha algum conteúdo; caso todas as células desta linha
estejam vazias, seleciona a sua primeira célula
Seleciona a próxima célula acima (na mesma coluna) que
“Ctrl + ” contenha algum conteúdo; caso todas as células desta coluna
estejam vazias, seleciona a sua primeira célula

Seleciona a próxima célula abaixo (na mesma coluna) que


“Ctrl +” contenha algum conteúdo; caso todas as células desta coluna
estejam vazias, seleciona a sua última célula

Seleciona a célula da página abaixo que ocupa a mesma


“PageUp”
posição relativa (na tela) da célula atual
Seleciona a célula da página acima que ocupa a mesma
“PageDown”
posição relativa (na tela) da célula atual

1.2 AS CÉLULAS

Dado o fato de serem as responsáveis pela comunicação direta o usuário e o Excel,


é importante conhecer as propriedades e os comandos básicos relacionados às células.

1.2.1 Subcomponentes

Cada célula é composta de uma caixa de texto, onde valores quaisquer são
inseridos pelo usuário ou impressos pelo Excel e de uma alça de preenchimento,
identificada por um minúsculo quadrado que aparece no canto inferior direito de qualquer
célula que esteja selecionada, conforme ilustrado a seguir:
9

Figura 1.3 - A célula

A alça de preenchimento pode ser utilizada para replicar os valores ou fórmulas


da (s) célula (s) selecionada (s) para as outras adjacentes a essa, o que permite que o
desenvolvedor da planilha economize bastante tempo no desenvolvimento de sua
ferramenta. Caso mais de uma célula esteja selecionada, a alça de preenchimento pode
ser utilizada para preencher as células adjacentes segundo uma sequência lógica
intrínseca aos números selecionados, conforme apresentado na atividade didática a seguir.

ATIVIDADE DIDÁTICA
1) Selecione a célula A1 e digite o valor numérico 1.
2) Utilizando a alça de preenchimento, replique o valor digitado de forma a construir uma
matriz 10x10 cujos elementos contêm todos o valor digitado na primeira célula.
3) Apague a matriz criada e digite nas seguintes células os seguintes valores: A3: 1; A4:
2.
4) Selecione o intervalo A3:A4 e replique os valores para as células A1:A2 e
posteriormente para as células A5:A10. O que você observou?
5) Repita os passos 3) e 4) digitando os seguintes valores: A3: 5; A4: 25. O que você
observou?

1.2.2 Tipos de conteúdo

O Excel permite que o conteúdo inserido em uma célula seja analisado sob
diferentes formatos. Pode-se alterar o tipo do conteúdo presente na célula de duas
formas: a primeira consiste em clicar com o botão direito do mouse na célula e selecionar
a opção “Formatar Célula”. A segunda forma, inclui a utilização da “caixa de listagem
de formato”, visualmente presente nas planilhas eletrônicas, na aba “Página Inicial” do
desenvolvedor. Essa caixa de listagem é apresentada na Figura 1.4.
10

Figura 1.4 - Tipos de conteúdo das células

ATIVIDADE DIDÁTICA
1) Selecione a célula A1 e digite o valor 1/5
2) Replique o valor digitado para as células A2:A11.
3) Para cada uma das 11 células, utilize um tipo de conteúdo diferente. O que você
observou?

Note que, utilizando a opção “Mais Formatos de Número”, abrirá uma janela
que permite com que o usuário modifique o padrão do Excel para cada um dos 11 tipos
de conteúdo ilustrados acima. Por exemplo, pode-se expressar um número no formato
“Hora” (p.ex.: 13h30) de diferentes formas, exemplificadas como segue: 13:30:00, 13:30,
1:30 p.m. etc. Caso o conteúdo da célula esteja formatado como “Geral” / “Número” /
“Contábil” / “Moeda” / “Científico”, pode-se alterar o número de casas decimais exibidas
na célula de duas formas: a primeira consiste em utilizar a opção “Formatar Célula” já
anteriormente mencionada; a segunda, mais direta, envolve a utilização dos botões para
aumento e diminuição de casas decimais, ilustrados na Figura 1.5:

Figura 1.5 - Botões para alteração do número de casas decimais

Atenção! Deve-se ter cuidado com números armazenados no formato “Texto”. Embora
uma célula contendo um número armazenado como texto possa ser manipulada
algebricamente sem maiores problemas, estes valores podem gerar problemas na execução
de códigos escritos em VBA. Um exemplo específico ocorre se o programador, ao
desenvolver um programa, declarar que uma variável “X” será do tipo “integer” e determinar
que o valor de “X” deve ser lido a partir de uma célula cujo conteúdo está formatado como
“Texto”. Neste caso, o código pode não funcionar corretamente. Embora pareça óbvio,
11

detalhes como estes podem passar despercebidos e causar uma enorme perda de tempo na
depuração do código, sobretudo para os desenvolvedores iniciantes.

1.2.3 Aparência

É de fundamental importância que o conteúdo das planilhas presentes em uma


pasta de trabalho estejam organizadas. A utilização de recursos para melhoria estética da
planilhas certamente auxilia o usuário na compreensão do conteúdo. Portanto, é
recomendável que o usuário do Excel utilize os recursos disponíveis para organizar o
conteúdo das planilhas, sobretudo se for de seu desejo comercializá-las. Para tal, é
fundamental a familiarização com os botões relacionados à formatação direta do
conteúdo das células, os quais estão ilustrados na Figura 1.6.

Figura 1.6 - ferramentas para formatação direta do conteúdo das células

Conforme ilustrado, a formatação direta do conteúdo de uma célula envolve a


formatação do texto no que diz respeito à cor e à fonte utilizada, aos alinhamentos
horizontal e vertical e à direção do texto; o usuário pode modificar também o plano de
fundo de uma célula além de desenhar bordas em todas elas, quando for necessário
realçar o conteúdo; se desejado, pode-se aumentar a largura/altura das células ou mesmo
mesclá-las, caso seja necessário incluir um texto de maior tamanho como conteúdo
dessas células mescladas. Os botões para formatação direta do conteúdo das células são
bastante intuitivos. Desta forma, uma melhor apresentação dessas ferramentas pode ser
feita por meio de uma atividade didática.

ATIVIDADE DIDÁTICA
1) Reproduza uma planilha eletrônica contendo o conteúdo de sua programação diária.
Segue o modelo:
12

Figura 1.7 - Modelo de planejamento de programação diária

Solução

A planilha eletrônica anterior pode ser reproduzida seguindo-se os seguintes passos


Passo 1: Abra uma nova pasta de trabalho.
Passo 2: Selecione todas as células da planilha e preencha seus fundos com a cor branca.
Passo 3: Selecione a Coluna “A” e altere sua largura pra 2 pixels.
Passo 4: Selecione as Colunas “B” até “I” e altere suas larguras pra 20 pixels.
Passo 5: Selecione a Linha 1 e altere sua altura pra 10 pixels.
Passo 6: Selecione as Linhas 2 até 22 e altere suas alturas pra 26 pixels.
Passo 7: Mescle todas as células do intervalo “B2:I3” e centralize nas posições vertical e
horizontal. Em seguida, altere a fonte da célula mesclada para “Franklin Gothic”, tamanho
28, cor branca e em negrito. Finalmente, altere a cor de fundo da célula mesclada para
preto.
Passo 8: Selecione as células do intervalo “B4:I22” e altere suas fontes para “Franklin
Gothic”, tamanho 12. Em seguida, centralize o conteúdo das células verticalmente e
horizontalmente.
Passo 9: Selecione as células do intervalo “B6:B22” e altere seu tipo de conteúdo pra
“Hora”. Digite os dois primeiros horários do cronograma nas células “B6” e “B7”,
respectivamente. Selecione-as e, utilizando a alça de preenchimento, arraste o conteúdo
até o último horário.
Passo 10: Selecione as células do intervalo “C4:I4” e altere seu tipo de conteúdo pra
“Data”. Digite os dois primeiros dias do seu cronograma nas células “C4” e “D4”,
respectivamente. Selecione ambas e arraste o conteúdo até o término da semana.
13

Passo 11: Na célula “C5”, mantenha o tipo de conteúdo como “Geral” e digita
SEGUNDA-FEIRA. Em seguida, utilizando a alça de preenchimento, arraste o conteúdo
da célula selecionada até o término da semana.
Passo 12: Ajuste as cores dos dias da semana ao seu critério.
Passo 13: Selecione os seguintes intervalos simultaneamente: “B6:I6”; “B8:I8”;
“B10:I10”: “B12:I12”: “B14:I14”; “B16:I16”; “B18:I18”; “B20:I20” e “B22:I22”.
Preencha o fundo de todas as células selecionadas com algum tom de coloração cinza.
Passo 14: Selecione os seguintes intervalos simultaneamente: “B6:B22”; “D6:D22”;
“F6:F22”; “G6:G22” e “I6:I22”. Na opção “Bordas”, selecione a “Borda superior
espessa” de cor branca.
Passo 15: Finalmente, selecione o intervalo “B2:I22” e insira borda superior espessa na
cor preta.

Atenção! A formatação direta anteriormente apresentada envolve recursos que devem ser
utilizados de forma manual pelo usuário. Isto pode tornar-se enfadonho, especialmente se
houver muitas planilhas eletrônicas em uma mesma pasta de trabalho. Para contornar este
problema, o Excel disponibiliza padrões de formatação prontos para aplicação nas
planilhas. Para acessá-los, o usuário deve abrir a aba “Layout da Página” na barra de
ferramentas e utilizar o primeiro botão desta aba: “Tema”. O usuário do Excel pode alterar
a fonte e os efeitos do tema escolhido, utilizando os botões de layout. Caso um tema pré-
estabelecido tenha sido selecionado, ele pode ser modificado, salvo e aplicado
posteriormente em planilhas de outras pastas de trabalho. Note que cada tema pré-
estabelecido pelo Excel altera o conjunto de cores que será apresentado tanto nas células
da planilha cujo tema foi alternado, como no botão de cores da aba “Página Inicial”.

ATIVIDADE DIDÁTICA
1) Abra uma nova planilha eletrônica.
2) Preencha as Células “A1:E10” com números aleatórios.
3) Aplique na planilha algum tema pré-estabelecido do Excel à sua escolha. Salve o tema
selecionado.
4) Em seguida, abra a planilha “Programação Diária” desenvolvida anteriormente. Nela,
aplique o tema que você acabou de salvar.

Além das opções de formatação anteriormente apresentadas, o Excel disponibiliza


ferramentas para formatação condicional das células. Para acessá-las, o usuário deve
utilizar o botão da Figura 1.8, o qual também está presenta na aba “Página Inicial”. Esse
tipo de formatação é normalmente utilizado quando torna-se necessário ressaltar algum
aspecto ocorrido como resultado dos cálculos realizados na planilha eletrônica. A figura
a seguir ilustra os componentes relacionados a esse tipo de formatação:
14

Figura 1.8 – Formatação condicional e itens relacionados

Como o próprio nome sugere, esse tipo de formatação modifica a aparência das
células analisando se condições estabelecidas pelo usuário são obedecidas. Em síntese, o
procedimento de formatação condicional funciona da seguinte forma: o usuário
estabelece regras que os conteúdos das células selecionadas devem obedecer; se o
conteúdo das células as obedecerem, suas aparências serão modificadas seguindo um
padrão estabelecido pelo usuário. Nos itens “Realçar Regras das Células” e “Regras
de Primeiros/Últimos” (figura acima), são apresentadas regras criadas pelo Excel, além
de opções de formato para as células selecionadas. Caso seja necessário, o usuário pode
criar novas regras para testar o conteúdo das células. A Figura 1.9 ilustra algumas dessas
regras, cujos nomes as explicam por si só:

Figura 1.9 - Exemplos de regras de formatação pré-estabelecidas

Uma vez selecionada a condição que os conteúdos das células devem obedecer, o
usuário deve selecionar a forma como essas devem ser formatadas, tal qual ilustrado a
seguir.
15

Figura 1.10 - Exemplo de formatação condicional

Na figura acima, é ilustrado um exemplo de formatação condicional. As células


pertencentes ao intervalo “A1:E6” contêm números reais aleatórios entre 1 e 50.
Conforme ilustrado, foi utilizada uma regra de formatação para analisar quais dessas
células continham números “MAIORES DO QUE 30”; então, as células que
obedeceram a regra foram formatadas com “Preenchimento Verde e Texto Verde
Escuro”.
É importante ressaltar que o usuário pode escolher seu próprio estilo de
formatação. No exemplo anterior, foi utilizado um estilo de formatação oferecido pelo
Excel. Caso deseje, o usuário pode escolher seu próprio estilo de formatação visual da
célula testada. Para tal, basta acessar a opção de Formato Personalizado, ilustrada a
seguir:

Figura 1.11 - Opção de formato personalizado.

O Excel disponibiliza uma série de outras regras e ferramentas de formatação


condicional presentes nos outros subitens ilustrados na Figura 1.9. Por exemplo, pode-se
formatar as células contendo números pertencentes a um intervalo numérico cujos
extremos são estabelecidos pelo usuário; pode-se formatar os números com valores
acima/abaixo da média de todos os valores selecionados; pode-se aplicar faixas de cores
e ícones ao lado de cada número de uma sequência aleatória, etc.
16

Atenção! As opções de formatação condicional podem ser utilizadas também pra realçar
algum conteúdo de célula que contenham dados no formato “Texto”, “data” e outros
tipos. É importante ressaltar que, caso seja necessário, o usuário pode apagar as regras da
formatação condicional (tanto das células selecionadas como de todas as células da pasta
de trabalho). Para tal, deve-se utilizar a opção “Limpar Regras” ilustrada na Figura 1.9.

1.3 OPERADORES E FÓRMULAS

É muito comum que o estudante ou o profissional de Engenharia lide com


problemas cujas resoluções envolve o uso de uma ou mais equações/fórmulas
matemáticas multiparamétricas. Nesses casos, a utilização do Excel e seus recursos
permite com que o usuário economize tempo na resolução dos problemas, podendo,
portanto, gastar o tempo extra em ações de maior importância (p.ex.: análise dos
parâmetros que influenciam o problema, etc.). Como em qualquer ferramenta
computacional capaz de realizar cálculos automáticos, é necessário que o usuário da
“explique” ao Excel quais cálculos devem ser realizados. Para tal, de forma a garantir que
os cálculos sejam efetuados de forma correta, o usuário deve introduzir as equações
relacionadas a seu problema obedecendo um conjunto de regras internas inerentes a esse
software. Neste aspecto, portanto, é fundamental a familiarização com os operadores
aritméticos, de comparação e outros operadores úteis do Excel.

1.4 OPERADORES ARITMÉTICOS

A Tabela 1.2 apresenta um sumário dos operadores aritméticos


reconhecidos pelo Excel seguidos de suas respectivas operações algébricas.

Tabela 1.2 - Operadores Aritméticos


Operador Operação Ordem* Exemplo
- Negação 1 -A1
% % 2 A1%
^ Exponenciação 3 A1^2
*e/ Multiplicação e Divisão 4 A1*A2/A3
"+e-" Adição e Subtração 5 -A1+A2+A3
* prioridade de realização da operação

É importante atentar para a ordem de realização das operações aritméticas. A não


obediência dessas ordens leva a erros de cálculos que, a depender da extensão da fórmula
inserida em uma célula, podem se tornar difíceis de ser identificados. Essa ordem também
deve ser obedecida para a elaboração de códigos em VBA e a não-organização correta
17

das equações pode gerar erros de cálculos que, por mais simples que pareçam, podem
levar a erros de compilação em códigos, fazendo com que o usuário desperdice bastante
tempo identificando-os.

Atenção! É possível organizar as fórmulas, sobretudo as mais extensas, utilizando os


parênteses “()”. O Excel entende que esses caracteres possuem a máxima ordem de
prioridade. Desta forma, é comum utilizá-los em formulas extensas, de forma a organizar
a ordem de prioridade das operações aritméticas.

ATIVIDADE DIDÁTICA
1) Abra uma nova planilha eletrônica.
2) Preencha as seguintes células com os valores: A1 = 2; B1 = 3; C1 = 4
3) Estabeleça que B2 = A1 + B1^2/C1; B3 = (A1 + B1)^2/C1; B4 = (A1 + B1)^(2/C1).
Compare os resultados.

1.5 OPERADORES LÓGICOS

A Tabela 1.3 apresenta um sumário dos operadores lógicos reconhecidos pelo


Excel seguidos de suas respectivas ações de comparação.

Tabela 1.3 - Operadores lógicos (ou comparativos)


Operador Operação
> Maior que
< Menor que
= Igual a
<> Diferente de
>= Maior que ou igual a
<= Menor que ou igual a

Operadores lógicos devem ser utilizados quando o usuário desejar saber se o


resultado de uma comparação lógica entre dois elementos é VERDADEIRO ou FALSO,
conforme ilustrado na Figura 1.12. É importante ressaltar que o uso de operadores lógicos
é frequente no desenvolvimento de códigos escritos em qualquer linguagem de
programação.
18

Figura 1.12 - Aplicação dos operadores lógicos

1.6 OUTROS OPERADORES ÚTEIS

A Tabela 1.4 sumariza os outros operadores que podem ser úteis no


desenvolvimento de planilhas de cálculo ou de códigos escritos em VBA.

Tabela 1.4- Operadores de texto e referência.


Tipo Operador Operação

Texto & Concatenação


Definição de
Referência :
intervalos contínuos
Referência ; União
Referência " " (espaço) Interseção

A Figura 1.13 ilustra de forma didática o que cada um desses operadores faz.

Figura 1.13 - Aplicação dos operadores aritméticos

Atenção! Os operadores apresentados anteriormente podem ser utilizados para relacionar


o conteúdo de células que não estejam na mesma planilha eletrônica, mesmo que elas
estejam em pastas de trabalho diferentes!
19

1.7 FUNÇÕES DA BIBLIOTECA DO EXCEL

A grande vantagem em trabalhar com planilhas eletrônicas e códigos


desenvolvidos em VBA reside no fato de o Excel possuir uma extensa biblioteca de
funções pré-definidas. Para melhor entende-las, o usuário pode acessar a biblioteca,
conforme ilustrado seguir:

Figura 1.14 - Biblioteca de funções do Excel

Embora o Excel forneça centenas de funções úteis, somente algumas serão


abordadas neste material, as quais serão aqui divididas em matemáticas, lógicas,
estatísticas, matriciais, e outras funções úteis

1.7.1 Matemáticas

Conforme foi apresentado em seções anteriores, pode-se utilizar os operadores do


Excel para a realização de cálculos aritméticos e ações simples. Entretanto, quanto o
usuário necessitar manipular várias planilhas (cada contendo uma grande quantidade de
dados), é mais conveniente utilizar as funções matemáticas presentes na biblioteca do
Excel. A Tabela 1.5 sumariza essas funções, bem como as ações esperadas dos seu usos
e exemplos de sintaxes para suas utilizações.

Tabela 1.5 - Funções matemáticas.


Função Ação Exemplo
SOMA Soma todos os números de um intervalo SOMA(A1:K100)

MULT Multiplica todos os números de um intervalo MULT(A1:K100)

RAIZ Retorna a raiz quadrada de um número RAIZ(A1)

POTENCIA Eleva o número a uma potência especificada POTÊNCIA(A1;3)

Retorna 'e' elevado a uma potência


EXP EXP(A1)
especificada
LN Retorna o logaritmo natural de um número LN(A1)
LOG10 Retorna o logaritmo de um número (base 10) LOG10(A1)
20

Função Ação Exemplo


Retorna o logaritmo de um número numa base
LOG LOG(A1;5)
especificada
SEN Retorna o seno de um ângulo (rad) SEN(A1)
SENH Retorna o seno hiperbólico de um número SENH(A1)
Retorna o arco-seno de um ângulo (rad) entre
ASEN ASEN(A1)
π/2 e -π/2
Retorna o seno hiperbólico inverso de um
ASINH ASENH(A1)
número
GRAUS Converte radiano em graus GRAUS(A1)

1.7.2 Lógicas

Ao escrever um código, um programador certamente lida com situações em que


decisões lógicas devem ser tomadas. A depender do resultado da decisão, o código
executa uma série de comandos ou desvia o fluxo de informação para outro ponto. Para
esses casos, o Excel disponibiliza uma série de funções lógicas capazes de tomar decisões
com base na obediência ou não do conteúdo da célula à condições estabelecidas. Três
dessas funções serão analisadas aqui, conforme ilustra a Tabela 1.6.

Tabela 1.6- Funções lógicas.


Função Ação Exemplo
Analisa se uma condição é obedecida. A depender SE(condição testada;
SE do resultado da comparação, retorna dois valor se obedecida; valor
diferentes valores se não)*

Analisa duas condições. Caso ambas sejam


E obedecidas, retorna o valor VERDADEIRO. Caso E(condição 1; condição 2)
não, retorna o valor FALSO
Analisa duas condições. Caso pelo menos uma seja
OU(condição 1; condição
OU obedecida, retorna o valor VERDADEIRO. Caso
2)
não, retorna o valor FALSO
*caso o valor a ser retornado seja um texto, a sintaxe correta é: SE(condição teste; “valor se obedecida”; “valor se não”)

O leitor atento perceberá que a função “SE” testa se apenas uma condição é
obedecida e retorna dois diferentes valores estipulados pelo usuário. Em contrapartida, as
funções “E” e “OU” podem ser utilizadas pra analisar duas condições, porém só retornam
os valores “VERDADEIRO” ou “FALSO”. Caso o usuário deseje testar mais de uma
condição utilizando a função “SE”, é necessário combiná-la com as funções “E/OU”.
21

Uma melhor compreensão desses conceitos pode ser obtida realizando a seguinte
atividade didática.

ATIVIDADE DIDÁTICA
O professor dispõe das seguintes notas obtidas pelos alunos em sua disciplina.

Tabela 1.7 – Análise de situação de alunos


Aluno AP1 AP2 AP3 Frequência (%)
João 7,0 8,7 7,0 85%
Luiza 5,5 8,6 7,3 72%
Roberto 5,0 6,0 6,5 80%
Júlia 3,5 3,0 2,5 55%

Sabendo que caso a média seja


1) Igual ou superior a 6,0, o aluno será aprovado.
2) Inferior a 6,0, o aluno será reprovado.

Diante disso, construa uma planilha eletrônica que computa a situação dos alunos
da disciplina diante de dois critérios: de média e de % de frequência. A planilha deve
explicitar a situação do aluno (aprovado ou reprovado) com base em cada um critérios.
Finalmente, com base nos resultados dos dois critérios, deve-se imprimir a situação final
do aluno (aprovado ou reprovado). O corte de frequência (%) para aprovação é de 75%.
Os alunos somente apresentarão resultado final “aprovado” caso o sejam nos dois critérios
individuais.

Solução
O problema anterior foi resolvido utilizando-se a seguinte planilha eletrônica:

Figura 1.15 - Resolução – análise de situação de alunos

Na coluna nomeada “Média”, foi utilizada a função “MÉDIA”, obedecendo a


seguinte sintaxe “MÉDIA = (AP1+AP2+AP3)/3”. Em seguida, foi verificada a situação
do aluno de acordo com esse critério. Para tal, utilizou-se a função “SE” seguindo a
sintaxe “SE(MÉDIA>7; "Aprovado"; "Reprovado"). Em seguida, novamente utilizando
a função lógica “SE”, verificou-se a situação dos alunos segundo o critério de frequência
22

(%): “SE(Freq(%)>70%; "Aprovado"; "Reprovado")”. Para computar o resultado final do


aluno, nos deparamos com a necessidade de combinar as funções “SE” e “E”, uma vez
que duas condições devem testadas: se o aluno foi aprovado de acordo com os critérios 1
e 2. Portanto, a sintaxe utilizada para as células correspondentes à situação final foi:
SE(E((RESULTADO1= “Aprovado”);(RESULTADO2 = “Aprovado”)); “Aprovado”;
“Reprovado”). Finalmente, foram utilizadas as regras de formatação condicional
anteriormente explicadas para as células “I3:I6”. Os passos tomados foram: “Formatação
Condicional”  “Realçar Regra das Células”  “É Igual a”  “Formatar células que
são IGUAIS a Aprovado com Formato Personalizado”  “Fonte com cor padrão e
preenchimento verde”  “Formatar células que são IGUAIS a Reprovado com Formato
Personalizado”  Fonte com cor padrão e preenchimento vermelho”.
Como forma de exercitar os conhecimentos adquiridos até então, realize a próxima
atividade didática.

ATIVIDADE DIDÁTICA
A classificação do regime escoamento dos fluidos pode ser realizada calculando-
se o número adimensional de Reynolds. A depender do valor desse parâmetro, o
escoamento pode ser classificado como laminar, em transição ou turbulento. Ressalta-se
que, as faixas de classificação baseadas no número de Reynolds dependem se o
escoamento do fluido ocorre internamente (em tubos) ou externamente (em placas), tal
qual ilustrado na tabela a seguir.

Tabela 1.8 – Regimes de escoamento com base no número de Reynolds.


Tipo de escoamento Reynolds Regime de escoamento
<= 2300 Laminar
Interno (tubos) >2300 e <=4000 Em transição
> 4000 Turbulento
<=500000 Laminar
Externo (placas) >500000 e <=1000000 Transição
>1000000 Turbulento

Diante disso, desenvolva uma planilha eletrônica que analise o tipo de escoamento
em questão e classifique o regime os resultados da seguinte planilha eletrônica. Estabeleça
também a seguinte formatação condicional a depender do tipo de regime de escoamento:
Laminar, Transição e Turbulento.
23

1.7.3 Estatísticas

O Excel disponibiliza uma grande variedade de funções úteis na análise


estatística de dados. Somente as mais simples, as quais estão resumidas na Tabela 1.9,
serão analisadas aqui:

Tabela 1.9- Funções estatísticas.


Função Ação Exemplo
Calcula a média aritmética entre
MÉDIA MÉDIA(A1:C10)
números de uma amostra
Calcula a variância entre números
VAR.A VAR.A(A1:C10)
de uma amostra
Calcula o desvio padrão entre
DESVPAD.A DESVPAD.A(A1:C10)
números de uma amostra
Retorna a moda dos números de
MODO MODO(A1:C10)
uma amostra
Retorna o i-ésimo menor valor de
MENOR MENOR(A1:C10,i)*
um conjunto de dados
Retorna o i-ésimo maior valor de
MAIOR MAIOR (A1:C10,i)*
um conjunto de dados
Retorna o mínimo valor contido em
MÍNIMO MÍNIMO(A1:C10)
uma amostra
Retorna o máximo valor contido em
MÁXIMO MÁXIMO(A1:C10)
uma amostra

Retorna o coeficiente angular obtido


INCLINAÇÃO da correlação de um domínio de INCLINAÇÃO(B1:B10;A1:A10)**
dados (x) e suas imagens (y)

Retorna o coeficiente linear obtido


INTERCEPÇÃO da correlação de um domínio de INTERCEPÇÃO(B1:B10;A1:A10)**
dados (x) e suas imagens (y)
Retorna o coeficiente de correlação
(R²) obtido da correlação de um
CORREL CORREL(B1:B10;A1:A10)**
conjunto de dados (x) e suas
imagens (y)
*Note que 'i' assume valores inteiros (p.ex.: i = 1 denota o 1º menor/maior valor; i = 2 denota o 2º menor/maior valor, etc.)
**Nestes casos, os intervalos “B1:B10” e “A1:A10” correspondem respectivamente aos conjuntos imagem e domínio da função

Atenção! Para a realização de análises estatísticas mais sofisticadas, o Excel o Excel


disponibiliza uma ferramenta específica que, quando ativada, aparece disponível na aba
24

“Dados”. Para ativá-la, o usuário deve tomar os seguintes passos: “Aba Arquivo” 
“Opções”  “Suplementos”  “Gerenciar suplementos do Excel”  “Ir”  “Ferramentas
de Análise”  “OK”. Comentários adicionais sobre essas ferramentas fogem do escopo
desta apostila.

ATIVIDADE DIDÁTICA
Em handbooks contendo propriedades físico-químicas de substâncias, é comum encontrar
correlações lineares que podem ser utilizadas para calcular a massa específica de
diferentes líquidos segundo a Equação (1.1).

𝑘𝑔 𝐵
𝜌 (𝑚3 ) = 𝐴 + [𝑇(𝐾)] (1.1)

Onde ρ denota a massa específica [kg/m³] calculada em uma temperatura, T[K]. Dado o
seguinte conjunto de dados experimentais para três diferentes líquidos, pede-se:

1) Quais dentre as substâncias podem ter sua massa específica correlacionadas da melhor
forma pela Equação (1)? E qual apresentou a pior correlação?
2) Calcule a média, a variância e o desvio padrão dos valores tabelados.
3) Qual o 3º maior valor de massa específica dentre todas apresentadas? E o 4º menor?

Tabela 1.10– Análise de dados de massa específica de líquidos.


Ponto T[K] ρ [kg/m³]
Líquido A
1 298,15 1237,88
2 303,15 1234,43
3 313,15 1227,61
4 323,15 1220,88
Líquido B
1 298,15 1167,50
2 303,15 1164,40
3 313,15 1157,00
4 323,15 1149,50
Líquido C
1 298,15 1149,04
2 303,15 1146,22
3 313,15 1140,55
4 323,15 1135,08
25

1.7.4 Matriciais

Trabalhar com matrizes é uma tarefa corriqueira para quem está habituado ao
universo da Engenharia. Diante disto, o Excel fornece uma série de funções que podem
facilitar ao lidar com matrizes, sobretudo as multidimensionais. Algumas dessas funções
matriciais são apresentadas na Tabela 1.11.

Tabela 1.11- Funções matriciais.


Função Ação Exemplo
Retorna o determinante de
MATRIZ.DETERM MATRIZ.DETERM(A1:C3)
uma matriz "n x n"
Retorna a matriz transposta de
TRANSPOR TRANSPOR(A1:C3)
uma matriz especificada
Retorna a matriz inversa de
MATRIZ.INVERSO MATRIZ.INVERSO(A1:C3)
uma matriz especificada
Multiplica uma matriz "m x n"
MATRIZ.MULT MATRIZ.MULT(A1:C3;E1:G3)
e uma matriz "n x p"

Atenção! Deve-se tomar cuidado para efetuar de forma os cálculos com matrizes.
Considere a matriz “A” apresentada a seguir:

Figura 1.16 - Exemplo de Matriz 3x3

O cálculo do determinante [“det(A)”] pode ser feito de maneira simples:


seleciona-se as células pertencentes ao intervalo “A2:C4” e, em uma célula qualquer,
digita-se “MATRIZ.DETERM(A2:C4)”. Em seguida, aperta-se somente “Enter”. No
entanto, para o cálculo das matrizes transposta e inversa, o usuário deve selecionar o
conjunto de células onde desejar que sejam impressos os respectivos valores dos
elementos de "AT e A-1. Em seguida, o usuário deve digitar “TRANSPOR(A2:C4)” ou
“MATRIZ.INVERSO(A2:C4)” e pressionar “Ctrl” + “Shift” + “Enter”
simultaneamente. Os resultados das matrizes AT e A-1 são apresentados na Figura 1.17.
26

Figura 1.17 - Matriz Transposta (A T) e Inversa (A -1) calculadas pelo Excel

O mesmo procedimento deve ser utilizado quando se desejar calcular uma matriz
produto a partir de outras duas matrizes.

ATIVIDADE DIDÁTICA
1) Calcule o determinante das matrizes AT e A-1 apresentadas na Figura 1.17.
2) Calcule o produto matricial entre as matrizes A e A-1. O que você observou?

1.7.5 Outras funções úteis

O Excel disponibiliza uma série de outras funções que podem ser úteis na análise
de planilhas contendo uma grande variedade de dados. Algumas dessas funções serão
analisadas aqui:

Tabela 1.12 - Outras funções úteis do Excel


Função Ação Exemplo
Concatena os
CONCATENAR caracteres/valores de CONCATENAR(A1;A2;A3)
duas ou mais células*
Retorna a soma dos
produtos entre elementos
SOMARPRODUTO SOMARPRODUTO(A1:B15;C1:D5)
correspondentes de
diferentes matrizes**
Contabiliza o número de
células não vazias (de um
intervalo especificado)
CONT.SE CONT.SE(A1:C10;"critério")
que obedecem a uma
condição pré-
determinada
Contabiliza o número de
células que pertencem a
dois intervalos
especificados e que que
CONT.SES CONT.SES(A1:A5;"critério1";B2:B5;"critério2")
obedecem
simultaneamente a mais
de uma condição pré-
determinada
27

Procura um valor de uma


primeira coluna à
esquerda de uma tabela e
PROCV PROCV(A1:C10;valor procurado; id_coluna; 0 ou 1)
retorna um valor da
mesma linha e de outra
coluna especificada
Pesquisa um valor da
linha superior de uma
PROCH tabela e retorna um valor PROCH(A1:C10;valor procurado;id_linha; 0 ou 1)
da mesma coluna e de
outra linha especificada
*Na seção 2.3 foi mostrado que esta ação pode ser feita com o uso do operador "&"
**é obrigatório que as matrizes possuam a mesma quantidade de linhas e de colunas

Para melhor entendimento de cada uma das funções anteriores, analisemos a


seguinte planilha eletrônica.

Figura 1.18 - Planilha de Identificação de pessoas

Os dados da planilha acima permitem ilustrar uma série de funções da Tabela 1.12.
Inicialmente, o nome completo de cada uma das pessoas registradas na tabela acima foi
obtido utilizando a função de concatenação de valores (ou caracteres), obedecendo a
seguinte sintaxe: C3 = CONCATENAR(A3; “ ”;B3) e assim sucessivamente. Conforme
já foi anteriormente comentado, é necessário introduzir o espaço, aqui representado como
“ ”. Desta forma, garante-se que haja espaço entre os nomes principais e os sobrenomes.
Caso o espaço não tivesse sido utilizado, valor retornado pela função seria “JoãoFarias”,
“AnnaGurney”, “MiaBuonni”, etc.
Suponha que seja necessário determinar quantas dessas pessoas possuem dois ou
mais filhos. Para tal, a função CONT.SE pode ser utilizada, obedecendo a seguinte
sintaxe: CONT.SE(F3:F10; “>=2”). O valor retornado pela função é de 4 registros,
correspondentes a “Pedro Ribeiro”, “Anna Gornes”, “Mia Buonni” e “Fabiano Rocha”.
A mesma função poderia ser utilizada para determinar quantos dentre os identificados na
tabela são brasileiros. De forma análoga, a sintaxe seria CONT.SE(E3:E10; “=Brasil”).
28

Suponha que seja necessário verificar quantas das pessoas registradas são brasileiras,
maiores de idade e possuem filhos. Perceba que neste caso, há a necessidade de contagem
de registros obedecendo simultaneamente a três diferentes critérios. Desta forma, pode-
se utilizar a função CONT.SES. O número de pessoas que obedecem os critérios
desejados podem ser determinados seguindo a sintaxe: CONT.SES(D3:D10;
“>=18”;E3:E10; “=Brasil”; F3:F10; “>0”). O valor retornado pela função é de 1 registro,
correspondente a “Fabiano Rocha”.
Para ilustrar o uso das funções PROCV e PROCH, suponha que fosse necessário saber a
nacionalidade da pessoa registrada como “Joseph Schäfer”. Neste caso, função PROCV
poderia ser utilizada seguindo a sintaxe: PROCV(A5; A3:F10; 4; 0*). Em outras palavras,
a função procurará o valor exato1 “Joseph” na matriz contendo as células do intervalo
A3:F10 e retornará a 4ª coluna (correspondente à “Idade”) pertencente a mesma linha do
nome inicialmente procurado (“Joseph”). De forma análoga, suponha que fosse
necessário determinar o “5º nome registrado” na lista. Neste caso, Neste caso, função
PROCH poderia ser utilizada seguindo a sintaxe: PROCH(A3; A3:F10; 5; 0).

Atenção! Obviamente, os valores desejados da idade de “Joseph” ou do 5º nome


registrado na lista poderiam ter sido lidos diretamente na tabela. No entanto, quando o
número de linhas e colunas da planilha eletrônica é tão alto que para navegar por elas é
necessário utilizar as barras de rolagem, fica evidenciado a utilidade das duas funções em
questão. Por exemplo, se fosse necessário conhecer o nome completo da 11.328.839ª
pessoa registrada na planilha, ficaria evidenciado potencial da função PROCH.
Para ilustrar o uso da função “SOMARPRODUTO”, prossiga para a próxima
atividade didática

ATIVIDADE DIDÁTICA
O biodiesel é um combustível bastante estudado como forma alternativa ao diesel
de origem mineral. Para que alguns cálculos relacionados ao teste do biodiesel em
motores de ignição-compressão possam ser efetuados, é fundamental conhecer o valor de
sua massa molar. Sabendo que o biodiesel é uma mistura de ésteres de cadeia longa e
dada a seguinte composição de um biodiesel qualquer, calcule a sua massa molar.

1
o valor 0 estipula que a função deve procurar exatamente o conteúdo presente na célula “A5”, no caso o
nome “Joseph”. Caso houvesse sido utilizado o valor 1, a função procuraria na matriz uma célula com o
valor aproximadamente o da célula A5.
29

Figura 1.19 - Composição de um biodiesel qualquer

Solução
Sabe-se que a massa molar de uma mistura pode ser calculada segundo a Equação (1.2)
𝑀𝑀𝑚𝑖𝑠𝑡 = ∑𝑁𝐶
𝐾=1 𝑥𝑘 𝑀𝑀𝑘 (1.2)

Onde 𝑀𝑀𝑚𝑖𝑠𝑡 e 𝑀𝑀𝑘 denotam as massa molares [g/mol] da mistura e do componente k


nela presente; 𝑥𝑘 denota a fração molar e NC representa o número de componentes
presentes na mistura.
Para resolver este exemplo, pode-se utilizar simplesmente a função
SOMARPRODUTO(B2:B6; C2:C6). Desta forma, o valor retornado pela função será a soma
dos produtos entre a massa molar de cada componente (MMK) e sua fração molar xK.
Portanto, obtém-se MMMIST = 271,56 g/mol

Atenção! Assim como os operadores lógicos, todas as funções anteriormente


apresentadas podem ser utilizadas para relacionar o conteúdo de células que estejam
localizadas em planilhas eletrônicas diferentes, estando elas na mesma pasta de trabalho
ou não.

1.7.6 Replicação de funções

No início deste capítulo, foi apresentada a alça de preenchimento que compõe as


células do Excel e seu uso foi exemplificado por meio da replicação de valores presentes
nas células. De forma similar, tal alça pode ser utilizada caso o usuário deseje replicar
(para as células adjacentes) as fórmulas presentes em uma célula. Para um melhor
entendimento, analisemos a seguinte listas de gastos mensais com alimentos.
30

Figura 1.20 - Lista de gastos mensais (quitanda)

Para calcular o gasto (R$) com laranjas, o usuário certamente determinou que E2
= B2 * C2. Utilizando a alça de preenchimento da célula “E2” para as seguintes, pode-se
replicar a fórmula nela inserida e, portanto, determinar o Gasto (R$) com os próximos
itens. Perceba que a alça de preenchimento funciona da seguinte forma: o Excel analisa a
fórmula matemática inserida na célula que contém a variável dependente (neste caso
“E2”) e captura as posições relativas das variáveis independentes (neste caso “B2” e
“D2”) em relação à dependente. E assim, ao replicar a fórmula de “E2” para a célula
abaixo o Excel entende que as variáveis dependentes da fórmula de “E3” estão contidas
nas células “B3” e “D3”, uma vez que elas ocupam a mesma posição em relação a “E3”
(comparado com as células “B2” e “D2” em relação à “E2”).
No entanto, para calcular o gasto (%) de cada item, deve-se atentar ao usar a alça
de replicação. Para calcular o gasto (%) com o item laranja foi utilizada a seguinte sintaxe
F2 = E2/$E$10. Note que foi utilizado o operador “$”, cuja aplicação fixou a célula do
denominador (E10) durante a replicação da fórmula de “F2” para as células abaixo. Caso
a sintaxe F2 = E2/E10 tivesse sido utilizada, a replicação seria falha para as células
pertencentes ao intervalo “F3:F9”, isto por que a alça de replicação, por capturar a posição
relativa da variável dependente (“F2”) em relação às independentes (“E2” e “E10”)
geraria os seguintes resultados: F3 = E3/E11, F4 = E4/E12, F5 = E5/E13 e assim
sucessivamente.

Atenção! Em alguns casos, pode ser necessário fixar somente a coluna e permitir que a
alça de replicação modifique as linhas de uma fórmula qualquer. Neste caso, deve-se
utilizar o operador $ somente antes do identificador de colunas (para o referido exemplo,
a sintaxe seria F2 = E2/$E10). Analogamente, caso seja necessário fixar somente a linha,
o operador $ deve ser colocado somente antes do identificador da linha (para o referido
exemplo, a sintaxe seria F2 = E2/E$10).
31

1.8 TABELAS

Em muitos casos, o usuário tem de lidar com planilhas eletrônicas contendo uma
grande quantidade de linhas e colunas preenchidas com dados relativos a um problema
de interesse. Essas planilhas que contêm uma quantidade excessiva de dados são
comumente denominadas tabelas ou banco de dados. Nesses casos, de forma a facilitar
a análise dos dados disponíveis, é fundamental utilizar os recursos que o Excel
disponibiliza para a formatação de tabelas.

1.8.1 Formatação de dados como tabelas

Existe uma grande vantagem em trabalhar com dados formatados como tabelas,
sobretudo quando se deseja realizar análises estratificadas do conjuntos. Qualquer
intervalo de dados pode ser formatado como tabela. Para tal, o usuário deve selecionar os
dados que deseja incluir na tabela e acessar um dos botões ilustrados na Figura 1.21.

Figura 1.21 - Botões para formatar um conjunto de dados como tabela

O Excel pré-disponibiliza alguns modelos de formatação visual para a tabela que


será criada. Tais modelos podem ser visualizados acessando a caixa “Estilos de Tabela”.

Figura 1.22 - Modelos disponíveis para formatação visual de tabelas.

Para fins didáticos, considere o seguinte conjunto de dados correspondentes às


vendas mensais de diferentes produtos em várias unidades de uma mesma rede de loja de
móveis
32

Figura 1.23 - Relatório anual de vendas de produtos de uma rede de lojas.

Apesar de o intervalo de dados anterior possuir uma pequena quantidade de linhas


e colunas, é notório que esses estão dispostos de forma desorganizada. A depender do
tipo de problema, o usuário pode ter de lidar com tabelas contendo dezenas de milhares
de linhas e colunas, o que pode complicar a interpretação dos dados. Para o exemplo da
figura anterior, suponha que fosse necessário determinar a receita (R$) proveniente das
vendas da unidade do Rio de Janeiro no mês de dezembro. Da forma como os dados estão
organizados na Figura 1.23, o usuário teria que filtrar todos esses campos visualmente,
realizando assim uma tarefa enfadonha. A depender do número de dados presente no
intervalo, esse tipo de análise pode se tornar impraticável. Quando, no entanto, o intervalo
de dados é formatado como tabela, pode-se realizar qualquer análise pontual desejada de
maneira simples; basta utilizar os botões para filtrar os elementos de cada coluna.

Figura 1.24 - Exemplo de intervalo de dados formatado como tabela.


33

Para o exemplo mencionado no parágrafo anterior, pode-se utilizar o botão para


filtrar os elementos da coluna “UNIDADE” e selecionar “Rio de janeiro”, conforme
ilustrado na Figura 1.25.

Figura 1.25 - Utilizando o botão para filtrar dados de unidade.

O relatório estratificado da unidade “Rio de Janeiro” é, portanto, apresentado:

Figura 1.26 - Relatório estratificado de vendas da unidade do rio de janeiro .

Dessa forma, pode-se concluir que a vantagem em formatar um intervalo de dados


como tabela reside na possibilidade de analisar suas particularidades de forma simples.
Quanto maior a extensão do intervalo de dados, mais perceptível é essa vantagem.

Atenção! A manipulação de tabelas excessivamente extensas que contenham fórmulas


matemáticas em uma grande quantidade de células (da ordem de dezenas de milhares)
pode levar a um consumo excessivo de memória do computador, o que, em alguns casos,
pode gerar problemas de travamento da pasta de trabalho. Para contornar esse problema,
pode-se, após realizar as análises pontuais desejadas, reconverter os dados da tabela em
intervalo simples. Para tal, o usuário deve prosseguir conforme ilustrado na Figura 1.27.
34

Figura 1.27 - Conversão de dados formatados como tabela em intervalos simples.

1.8.2 Tabelas dinâmicas

Além da opção de formatação de dados como Tabelas, o Excel apresenta a


possibilidade de criação de tabelas dinâmicas de dados. Assim como o tipo de tabela
anteriormente comentado, as tabelas dinâmicas devem ser utilizadas para a realização de
análises estratificadas do conjunto. No entanto, utilizando este recurso, o usuário não será
obrigado a utilizar os botões para filtrar os elementos das colunas sempre que desejar
realizar análises pontuais. Ao criar uma tabela dinâmica, o usuário escolhe múltiplos
critérios de análise, bem como a forma de exposição dos dados, de forma que a tabela
dinâmica se ajusta automaticamente à configuração desejada. Para criar uma tabela
dinâmica, o usuário deve selecionar o intervalo de dados e acessar o botão da Figura 1.28.

Figura 1.28 - Botão para criação de tabelas dinâmicas

Inicialmente, a tabela dinâmica criada não contém nenhum elemento, conforme


pode ser ilustrado na Figura 1.29.
35

Figura 1.29 - O processo de criação da tabela dinâmica.

Para o intervalo de dados em questão, foram criados cinco diferentes campos da


tabela dinâmica que correspondem aos títulos das colunas do intervalo de dados
selecionado: “MÊS”, “UNIDADE”, “PRODUTO”, “QUANTIDADE” e “VENDAS”.
Cada um desses campos podem desempenhar quatro diferentes “funções”, separadas por
quadrantes. Essas funções, conforme ilustrado, são: “Filtros”, “Colunas”, “Linhas” e
“Valores”. A depender das funções desempenhadas pelo campos, a tabela dinâmica pode
assumir diferentes formatos. Não existe uma regra que deva ser obedecida na disposição
dos campos e suas respectivas funções. Quem define o formato da tabela dinâmica é o
usuário. Por exemplo, para resolver o problema em questão, a seguinte tabela dinâmica
poderia ter sido criada:

Figura 1.30 - Tabela dinâmica - relatório de venda anual de uma rede de lojas.
36

É extremamente importante atentar para a disposição dos campos da tabela e as


“funções” desempenhadas por cada um deles. Foi selecionado o campo “UNIDADE”
para preencher o quadrante “Filtros”. Desta forma, foi possível analisar o relatório de
vendas das diferentes cidades, bem como o relatório de todas as cidades, conforme
ilustrado na figura acima (célula “B2”). No quadrante “Linhas” optou-se por inserir
inicialmente o campo “MÊS” e posteriormente o campo “PRODUTO”. É importante
atentar para a ordem em que os campos foram inseridos: inicialmente, insere-se os
elementos mais externos a aparecerem nas linhas (neste caso o mês); posteriormente,
inserem-se os elementos mais internos (neste caso os produtos). Na quadrante “Valores”,
inicialmente foi inserido o campo “Quantidade” e posteriormente o campo “Receita”.
Ressalta-se que a ordem de apresentação dos dados depende diretamente da ordem de
inserção desses campos no quadrante, conforme ilustrado. O observador atento perceberá
que o nome desses campos foram substituídos por “Soma de QUANTIDADE” e “Soma
de RECEITA” o que, como o nome sugere, corresponde a quantidade total dos produtos
vendidos e da receita obtida em cada mês. Conforme ilustrado na Figura 1.31, o Excel
disponibiliza outras opções além do somatório dos elementos que compõem o quadrante
“Valores”, por exemplo: se, em vez de soma, o usuário houvesse selecionado a opção
“Média”, seria apresentado nas células da coluna “C”, a quantidade média de sofás
vendida no mês de Janeiro (considerando todas as lojas pertencentes à rede) e assim
sucessivamente para as outras opções disponíveis.

Figura 1.31 - Janela para alteração de config. dos campos do quadrante "Valores"

Para acessar a janela anterior, o usuário deve clicar com o botão esquerdo sobre o
campo cuja configuração desejar alterar e acessar a opção “Configurações do Campo de
Valor” Perceba que no quadrante “Colunas” não foi inserido nenhum campo; ele foi
automaticamente preenchido com os campos do quadrante “Valores”! Dessa forma, os
elementos desse quadrante foram apresentados como colunas. Finalmente, utilizando o
botão para filtrar elementos presente na célula “B2” e selecionando a unidade “Rio de
Janeiro”, pode-se chegar a um resultado similar àquele ilustrado na Figura 1.26, conforme
ilustrado a seguir:
37

Figura 1.32 - Relatório de vendas para A unidade do rio de janeiro .

1.9 GRÁFICOS

Dentre as vantagens de utilização do Excel para a resolução de problemas de


Engenharia, destaca-se o fato de que nele são disponibilizadas uma grande quantidade de
ferramentas para construção de gráficos em duas e três dimensões. Utilizando tais
ferramentas, torna-se possível compreender, de forma visual, o problema e suas
particularidades.

1.9.1 Bidimensionais

Para a construção de gráficos bidimensionais, o usuário pode acessar os botões


presentes na aba “Inserir”, conforme ilustrado na Figura 1.33.

Figura 1.33 - Botões para a criação de gráficos bidimensionais.

Conforme ilustrado, pode-se criar diferentes tipos de gráficos bidimensionais


usando o Excel. Outros tipos (não ilustrados acima) podem ser acessados no item “Mais
Gráficos de Dispersão”, ilustrado na Figura 1.34.
38

Figura 1.34 - Acessando outros tipos de gráficos bidimensionais.

O Excel disponibiliza dez tipos de gráficos bidimensionais, apresentados na


Figura 1.35. Cada um desses tipos exibe variações, as quais alteram a forma visual do
gráfico a ser construído. Não há regra para a seleção de um tipo ou variação de tipo de
gráfico, devendo o usuário conhecer os dados com que está lidando e, utilizando a sua
experiência, estabelecer a forma visual com que esses dados devam ser plotados.

Figura 1.35 - Tipos de gráficos bidimensionais.

Para melhor entender o processo de criação de um gráfico bidimensional, será


realizada a seguinte atividade didática. Na sua resolução, serão apresentados os elementos
inerentes aos gráficos bidimensionais.
39

ATIVIDADE DIDÁTICA
Os dados de massa específica (ρ [kg/m³]) em função da temperatura (T[K]) para
três diferentes líquidos são apresentados na Tabela 1.10 (previamente analisada na seção
2.4.3). Utilizando os recursos gráficos disponíveis no Excel, selecione um tipo de gráfico
e compare visualmente os comportamentos volumétricos dos três líquidos.

Tabela 1.13– Análise de dados de massa específica de líquidos.


Ponto T[K] ρ [kg/m³]
Líquido A
1 298,15 1237,88
2 303,15 1234,43
3 313,15 1227,61
4 323,15 1220,88
Líquido B
1 298,15 1167,50
2 303,15 1164,40
3 313,15 1157,00
4 323,15 1149,50
Líquido C
1 298,15 1149,04
2 303,15 1146,22
3 313,15 1140,55
4 323,15 1135,08

Solução
Diante do que foi pedido, pode-se plotar os dados da tabela anterior utilizando um
gráfico bidimensional do tipo “Dispersão XY”. Para cada um dos líquidos anteriormente
apresentados, devem ser construídas diferentes séries. Desta forma, a análise comparativa
do comportamento volumétrico dessas substâncias pode ser facilitada. Ao final desta
resolução, teremos construído um gráfico similar ao apresentado na Figura 1.36.
40

Figura 1.36 - Influência da temperatura na massa específica dos líquidos a, B e C.

As etapas apresentadas nos parágrafos a seguir devem ser seguidas para a


construção do gráfico acima. Uma vez que os dados estejam dispostos numa planilha
eletrônica qualquer, deve-se escolher o tipo de gráfico que será construído: neste caso,
um gráfico do tipo “Dispersão XY”.

Figura 1.37 - Acessando o gráfico de “dispersão XY”.

Note que, uma vez que os dados de massa específica ainda não foram
selecionados, o gráfico escolhido aparecerá como uma carta em branco, conforme
ilustrado a seguir.
41

Figura 1.38 – Criação do gráfico ρ [kg/m³] versus T[K] – Parte 1.

Uma vez que temos dados experimentais de três diferentes líquidos, eles devem
ser plotados em três diferentes séries de dados. Para adicionar cada uma dessas séries, o
usuário deve pressionar o botão direito do mouse no espaço da Figura 1.38 e, em seguida,
acessar a opção “Selecionar Dados”. Então, a janela “Selecionar Fonte de Dados” se
abrirá e o usuário poderá adicionar uma nova série de dados clicando no botão
“Adicionar”, conforme ilustrado na Figura 1.39.

Figura 1.39 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 2.

Conforme ilustrado na Figura 1.40, a janela “Editar Série” se abrirá e o usuário


poderá adicionar o “Nome da série”, os “valores de X da série” e os “valores de Y da
série”.
42

Figura 1.40 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 3.

Na medida em que as séries forem sendo adicionadas, o gráfico em branco (Figura


1.38) vai sendo preenchido com os dados selecionados. Terminada essa etapa, o resultado
obtido é similar ao apresentado na Figura 1.41.

Figura 1.41 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 4.

Perceba que o gráfico criado é bastante diferente daquele apresentado na Figura


1.36. Isto deve-se ao fato de este ter sido formatado visualmente. Desta forma, para editar
visualmente o gráfico em construção, o usuário deverá utilizar a “Seção de Formatação
Gráfica” em conjunto com os “Botões Auxiliares”. É importante salientar que a “Seção
de Formatação” só torna-se disponível na planilha quando o botão “Formatar Seleção”
presenta na aba “Formatar” é pressionado, conforme ilustrado na Figura 1.42.
43

Figura 1.42 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 5.

Os botões auxiliares são autoexplicativos. Conforme ilustrado na Figura 1.43, o


primeiro botão estipula quais dentre as opções serão apresentadas no gráfico em
construção. Para o gráfico da Figura 1.36, somente não são apresentadas as barras de erro
e a linha de tendência. O segundo botão permite com que o usuário escolha alguns estilos
de formatação visual pré-estabelecidos pelo Excel. No caso da Figura 1.36, nenhum dos
estilos foi escolhido. Para este mesmo propósito, pode-se acessar as opções de formatação
presentes na aba “Design”. Finalmente, o terceiro botão permite com que o usuário
selecione quais dentre as séries deverão ser mostradas no gráfico. No caso da Figura 1.36,
todas as séries são mostradas simultaneamente.

Figura 1.43 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 6.

A “Seção de Formatação” contém elementos de formatação divididos em dois


subgrupos: “Opções de Gráfico” e “Opções de Texto”. Há três elementos presentes em
“Opções de Gráfico”: “Linha de Preenchimento”, “Efeitos” e “Propriedades de
Tamanho”, ilustrados na Figura 1.44.
44

Figura 1.44 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 7.

A opção “Linha de Preenchimento” contém os elementos “Preenchimento” e


“Borda” (Figura 1.42). Em síntese, como o próprio nome sugere, o elemento
“Preenchimento” permite com que o usuário altere o plano de fundo do gráfico em
construção: pode-se alterar a cor, a transparência e a textura do preenchimento; caso
desejado, pode-se também inserir imagens a serem utilizadas como plano de fundo. A
opção “Borda” permite com que o usuário adicione bordas de diferentes cores e estilos
ao gráfico em construção. No gráfico da Figura 1.36, não foi inserido nenhum
preenchimento ou borda personalizada. A opção “Efeitos” permite com que o usuário
adicione “Sombra”, “Brilho”, “Bordas Suaves”, e outros efeitos ao seu gráfico. Em
“Propriedades de Tamanho”, o usuário pode redimensionar o gráfico e alterar algumas
propriedades relacionadas ao seu tamanho. Em “Opções de Texto”, há ferramentas
capazes de modificar os textos presentes no gráfico (no caso da Figura 1.36, “Texto”
denota os valores numéricos, os títulos dos eixos e do gráfico): pode-se alterar suas cores
ou inserir efeitos em seu conteúdo (sombra, contorno etc.). Em conjunto com essa opção,
pode-se utilizar as opções de formatação de texto presentes na “Aba Inicial”. No caso da
Figura 1.36, somente a fonte, a cor e o tamanho do texto foram alterados: utilizou-se
Garamond, cor preta e tamanho 14.
Pode-se modificar também os elementos presentes no interior da carta gráfico (no
caso da Figura 1.36, esses elementos são os marcadores e as linhas de grade). A
formatação dos marcadores deve ser realizada de forma separada para cada uma das séries
plotadas. Para modifica-los, o usuário deve selecionar os marcadores de cada série e, em
seguida, acessar a “Seção de Formatação”, ilustrada na Figura 1.45.

Figura 1.45 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 8.

O observador atento perceberá que, os itens “Linha” e “Marcador” surgem no


elemento “Linha de Preenchimento”. Isto ocorre porque os marcadores referentes a uma
das séries foram selecionados e os novos itens são inerentes à formatação desses objetos
gráficos. Em “Linha”, o usuário encontra opções para adicionar linhas que ligam os
45

pontos presentes no gráfico, além de itens para formata-las: alterar suas larguras, cores,
estilos (pontilhado, rabiscado, linha cheia etc.), bordas, transparências, tipos de ponta, etc.
Similarmente, em “Marcador” o usuário encontra opções de formatação dos marcadores
propriamente ditos: estilo (quadrados, triângulos, círculos, cruzes etc.), tamanho,
preenchimento, transparência, borda, etc. No gráfico da Figura 1.36, foram utilizadas
linhas pontilhadas (largura 1,0 pt) para as três séries (com preenchimento sólido nas cores
ilustradas). Foram utilizados quadrados, círculos e triângulos (com preenchimento sólido
das cores ilustradas) para as séries dos líquidos A, B e C, respectivamente. Todos os
marcadores utilizados possuem tamanho 7 e borda preta sólida (largura 1,0 pt).
Para formatar a identificação dos pontos experimentais presentes no gráfico em
construção, o usuário deve, de forma análoga, selecioná-los e acessar a “Seção de
Formatação”. Perceba que um novo item, denominado, “Opções de Rótulo” surgiu.
Conforme ilustrado na Figura 1.36, as caixas de verificação “Eixo X” e “Eixo Y”
garantem que a abcissa e a ordenada sejam impressas na carta gráfica.

Figura 1.46 - Criação do gráfico ρ [kg/m³] versus T[K] – Parte 9.

Diante do que foi exposto, o leitor perceberá que o procedimento de formatação


de qualquer elemento presente no gráfico pode ser realizado em duas etapas: seleção do
elemento que deseja formatar e posterior acesso à “Seção de Formatação”, que
apresentará diversas ferramentas de alteração visual. Por exemplo, selecionando os eixos
dos gráficos e acessando a “Seção de Formatação” pode-se acessar o item “Opções de
Eixo” para modificar os intervalos da escala dos eixos, o tipo da escala (normal,
logarítmica etc.), o número de casas decimais apresentados, etc. Pode-se prosseguir da
mesma forma para alterar as linhas de grade presentes como plano de fundo presente no
gráfico. Embora nenhuma dessas alterações tenha sido realizada na Figura 1.46, o leitor
deve conhece-las.
46

Atenção! Embora tenha sido escolhido o gráfico do tipo “Dispersão XY” para a resolução
do problema, o procedimento de formatação dos outros tipos de gráficos bidimensionais
segue a mesma lógica apresentada nos parágrafos anteriores. Acreditamos que a criação
dos gráficos bem como a utilização das ferramentas para formatação é melhor assimilada
quando o usuário desejar resolver problemas de interesse pessoal. Por isso, nos parágrafos
anteriores, somente algumas opções de formatação foram apresentadas e, ainda assim, de
forma resumida.

1.9.2 Tridimensionais

Para ilustrar construção dos gráficos tridimensionais do Excel, analisemos o


comportamento da seguinte função matemática:

𝑧 = 𝑆𝑒𝑛(𝑥 2 + 𝑦 2 ) (1.3)

A função será analisada no domínio x ∈[-1;1] e y ∈ [-1;1]. De forma a construir a


tabela de dados, façamos com que o passo de variação nos valores de x e de y seja de 0,2.
Portanto, o conjunto de dados cujo gráfico será plotado está resumido na Figura 1.47.

Figura 1.47 – Dados para construção de gráfico tridimensional.

Atenção! Deve-se atentar para a utilização do operador cifrão durante a replicação da


fórmula (Equação (1.3)) utilizando a alça de preenchimento. Na figura acima, foi inserida
a equação na célula “C3” obedecendo a seguinte sintaxe: C3 = SEN(($B3^2)+(C$2^2)).
Para construir o gráfico, o usuário deve selecionar o intervalo contendo os valores
calculados para variável dependente (“C3:M13”) e, em seguida, inserir um gráfico de
47

superfície. Perceba que não foram selecionados os valores das variáveis independentes!
Ao realizar esses comandos, o seguinte gráfico será plotado:

Figura 1.48 - Criação de gráfico tridimensional – Parte 1.

O padrão de eixos plotados pelo Excel é apresentado na figura acima. O


observador atento perceberá que os valores assumidos pelos eixos “x” e “y” não estão
plotados corretamente (eles deveriam ser valores tais que x ∈[-1;1] e y ∈ [-1;1]). É
necessário, portanto, corrigi-los. Inicialmente, serão corrigidos os valores do eixo y.
Similarmente ao que já foi apresentado na seção de gráficos bidimensionais, o usuário
deve selecionar o eixo y e, após clicar no eixo selecionado com o botão direito, acessar
a opção “Selecionar Dados”. Para cada uma das 11 séries do eixo y, o usuário deve
prosseguir conforme ilustrado na Figura 1.49, isto é, deve editar manualmente alterar o
nome das séries para o valor correspondente.

Figura 1.49 - Criação de gráfico tridimensional – Parte 2.


48

Uma vez realizado esse processo, pode-se corrigir os valores exibidos para a
variável dependente x. Para tal, o procedimento é mais simples: o usuário deve selecionar
o eixo x do gráfico em construção, acessar a opção “Selecionar Dados” e clicar no botão
“Editar”, presente em “Rótulos do Eixo Horizontal”. Desta forma, conforme ilustrado
a seguir, o usuário deve selecionar o intervalo de dados assumidos pela variável x.

Figura 1.50 - Criação de gráfico tridimensional – Parte 3.

Finalmente, após realizar as formatações visuais necessárias, o gráfico


tridimensional obtido para o problema em questão apresentará os três eixos contendo os
valores desejados. Ao final de todo o processo de criação e formatação do gráfico
tridimensional, foi obtido o resultado apresentado na Figura 1.51.

Figura 1.51 - Criação de gráfico tridimensional – Parte 4.

Atenção! O processo de formatação visual de um gráfico tridimensional pode ser


realizado utilizando a mesma lógica apresentada para os gráficos bidimensionais. O leitor,
portanto, é desafiado a formatar o seu próprio gráfico e torna-lo similar ao apresentado
49

na Figura 1.51! Finalmente, é importante lembrar que o Excel permite com que o usuário
rotacione os eixos cartesianos da forma que desejar, o que pode auxiliar na inspeção
interna das superfícies. Para tal, deve-se acessar a “Seção de Formatação” e selecionar
a opção “Rotação 3D” do item “Efeitos”, conforme ilustrado na Figura 1.52. O resultado
é apresentado na Figura 1.53.

Figura 1.52 - Itens para Rotação de gráficos tridimensionais.

Figura 1.53 - Gráfico da figura 1.51 sob diferente perspectiva (Rotação X: 40º; Rotação y: 50º;
perspectiva: 40º
50

CAPÍTULO 2 MANIPULANDO DADOS

É comum que estudantes ou engenheiros tenham de lidar com situações


envolvendo uma grande quantidade de dados. Diversas podem ser as situações em que a
manipulação e a organização de dados são necessárias (p.ex.: análise da produção diária
de uma fábrica, controle de material de uma obra, análise dos dados de propriedades
físico-químicas de compostos, etc.). O uso do Excel é recomendável para essas situações,
pois, além de possuir uma considerável capacidade computacional, tal software apresenta
várias ferramentas úteis na manipulação de dados. Neste capítulo, as principais dentre
essas ferramentas serão apresentadas.

2.1 A GUIA “DADOS”

O Excel apresenta uma seção específica para o tratamento de dados: a aba


“Dados”. Essa guia é composta dos itens são ilustrados na Figura 1.1.

Figura 2.1 – A Aba “Dados”.

2.2 OBTENDO DADOS EXTERNOS

O Excel apresenta ferramentas que permitem a integração (ou importação) de


dados externos ao programa. Tais ferramentas estão disponíveis no item “Obter Dados
Externos” (presente na aba “Dados”). Na Figura 2.2 são apresentadas as principais
funções desse item.
Conforme ilustrado na Figura 2.2, podemos importar dados de diferentes fontes:
do MS Access (uma ferramenta de banco de dados do pacote Office), de páginas da web,
de arquivos-texto (.txt), de tabelas do SQL Server, dos serviços de análise do SQL Server,
de arquivos XML, do Microsoft Windows Azure DataMarket e do feed de dados ODATA.
Neste curso, será abordada a importação de dados externos provenientes de
arquivos-texto, já que esse tipo de arquivo é utilizado pela maioria dos softwares
comerciais e educacionais capazes de resolver problemas matemáticos, a exemplo do
Matlab. Além disso, são nesses arquivos que as principais linguagens de programação
utilizadas em Engenharia “emitem” seus resultados. Uma grande utilidade dos arquivos
textos pode ser percebida quando o usuário desejar retirar dados armazenados em
arquivos .pdf. Na subseção a seguir, é mostrado como isso pode ser feito.
51

Figura 2.2 – O item “Obter Dados Externos”.

2.2.1 Obtenção de dados de um arquivo .pdf utilizando um arquivo do tipo texto


como intermediário

Suponha que desejamos obter (numa planilha eletrônica) os coeficientes de uma


equação que descreva a influência da temperatura na massa específica de líquidos
inorgânicos (Equação 1).

𝑛
𝜌 = 𝐴 ∙ 𝐵 −(1−𝑇/𝐶) (2.1)

Onde A, B, C e n são parâmetros encontrados pelo ajuste da curva “massa específica vs


temperatura”; 𝜌 denota massa específica [g/ml] e T é a temperatura [K].
Sabendo que tais dados estão disponíveis em um arquivo 2 pdf (Figura 2.3), o
usuário pode prosseguir de duas diferentes formas a fim de importar os dados para a
planilha eletrônica: digitar todos os coeficientes (dos 415 compostos) disponíveis na
referência ou utilizar um arquivo-texto para importação dos dados (do arquivo .pdf) e
posterior exportação para o arquivo do Excel. É notório que a segunda opção é bem mais
simples e prática. Para fazê-la, devem ser tomados os seguintes passos:

2
Yaws, C. L. Thermophysical Properties of Chemical and Hydrocarbons, Elsevier
Science, 2014. (Esse arquivo está presente na pasta deste capítulo presente no material
digital deste curso)
52

Figura 2.3 – Correlações de massa específica de líquidos inorgânicos em função da temperatura.

Passo 1: Selecione os dados a serem importados (Figura 2.4) e os copie (“Crtl + C”).

Figura 2.4 – Seleção dos dados a serem importados (arquivo .pdf).

Passo 2: Abra um arquivo-texto (Bloco de Notas) e cole os dados selecionados (“Crtl +


V”). O resultado dessa operação é ilustrado Figura 2.5. Em seguida, salve o arquivo-texto.
Aqui, esse foi nomeado “DensidadeLiquidosInorganicos.txt”.
53

Figura 2.5 – Seleção dos dados a serem importados (arquivo .txt).

Dica! No caso de tabelas cujos dados estão presentes em mais de uma página (do arquivo
.pdf), é aconselhável copiar e colar cada página por vez.

Passo 3: Abra o Excel → “Aba Dados” → “Obter Dados Externos” → “De Texto”.
Vá até a pasta onde você salvou o arquivo-texto e o selecione. A caixa de diálogo
“Assistente de importação de texto – etapa 1 de 3” aparecerá:

Figura 2.6 – Caixa de diálogo “Assistente de importação de texto – etapa 1 de 3”.

A primeira parte da janela fornece a opção de escolher o tipo de campo que melhor
descreve os dados. Essa etapa é fundamental para determinar a forma como os dados
serão dispostos na planilha. Se os dados apresentarem valores fixos de caracteres para
cada coluna (da tabela original), a opção “Largura Fixa” é a mais indicada. Para o caso
54

de dados contendo separadores de campo (p.ex.: vírgula, ponto, tabulação, etc.), a opção
“Delimitado” deve ser selecionada. Como os dados estão dispostos de forma aleatória
no arquivo-texto, isto é, há valores variados de caracteres para cada coluna, a opção
“Delimitado” deve ser selecionada. Há também a opção de escolher a partir de qual linha
que será realizada a importação.
Na Figura 2.7, é ilustrada a segunda caixa de diálogo do “Assistente de importação
de texto”, que aparece quando o usuário clicar no botão “Avançar” da janela anterior. Na
caixa “Visualização dos Dados”, é mostrado como os dados serão dispostos na planilha.
Na janela 2 de 3 (Figura 2.7), deve-se selecionar o tipo de delimitador dos dados
do arquivo. Neste, conforme ilustrado abaixo, foi escolhido o delimitador “Espaço”. Caso
sejam escolhidos dois delimitadores característicos (vírgula e espaço, por exemplo), deve-
se selecionar a opção “Considerar delimitadores consecutivos como um só”.
Por padrão, o assistente de importação de texto trata quaisquer caracteres entre um
par de aspas duplas como entrada de texto (isto não é válido para números). Portanto, se
há aspas simples (‘) no arquivo-texto, deve-se selecioná-las na caixa de listagem
“Qualificador de texto”.

Figura 2.7 – Assistente de importação de texto – etapa 2 de 3.

A Figura 2.8 apresenta a caixa de diálogo 3 do “Assistente de importação de


texto”, a qual aparece quando o botão “Avançar” é clicado na janela anterior. Nesta etapa,
pode-se atribuir o tipo de dado de cada coluna ou escolher entre importar ou não a coluna
selecionada. Os seguintes tipos de dados podem ser escolhidos:
 Geral (padrão) para converter todos os valores numéricos para números, valores de
datas para datas e os demais tipos de dados para texto.
 Texto para converter todos os dados da coluna para texto.
 Data para converter todos os dados para o formato “data” usando a caixa de listagem
associada para escolher o formato.
55

Para atribuir um dos três tipos de dados a uma coluna, deve-se selecionar a coluna
na seção de visualização de dados e, em seguida, escolher a opção apropriada (Geral,
Texto ou Data) presente no quadro “Formato dos dados da coluna”.
No caso de dados oriundos de referência estrangeira, deve-se atentar para o fato
de que (quase sempre) o separador decimal utilizado é o ponto (.) e o separador de
milhares utilizado é a vírgula (,). Nesses casos, a exemplo do arquivo importado nesse
exemplo, é necessário mudar os separadores durante o procedimento importação. Para
isso, o botão “Avançado” deve ser clicado na janela ilustrada na Figura 2.8. Após isso,
uma nova janela surgirá (Figura 2.9) apresentando as opções de mudar os referidos
separadores e de colocar o sinal de negativo posterior ao número no caso de valores
negativos.

Figura 2.8 – Assistente de importação de texto – etapa 3 de 3.

Figura 2.9 – Configurações avançadas de importação de texto.

Passo 4: Clique no botão “OK” da janela “Configurações avançadas de importação


de textos” → Clique no botão “Concluir” da janela “Assistente de importação de texto
– etapa 3 de 3”. A janela com as opções para escolher o local onde os dados serão
inseridos (Figura 2.10) aparecerá.
56

Figura 2.10 – Caixa de diálogo “Importar dados”.

Ao clicar em “OK”, o resultado do processo de importação deve ser igual ao


apresentado na Figura 2.11.

Figura 2.11 – Resultado imediato da importação dos dados a partir do arquivo-texto.

Como pode ser observado na figura acima, os dados ainda não estão organizados
exatamente como no arquivo original dos quais foram extraídos (Figura 2.3). Isso se deve
ao fato de os nomes de alguns dos compostos serem compostos (isto é, há dois ou mais
nomes os quais são separados por espaço, que foi o delimitador utilizado na importação
dos dados), como é o caso do “aluminium bromide” (linha 8). Neste caso, a solução que
resta é organizar a tabela manualmente utilizando o operador “&” ou a função
“CONCATENAR” apresentados no capítulo anterior. O resultado final da planilha é
mostrado na Figura 2.12.
57

Figura 2.12 – Resultado final da importação dos dados do arquivo texto.

2.3 O FORMULÁRIO DE DADOS

No Capítulo 1, o leitor aprendeu a criar e formatar uma lista de dados utilizando


tabelas. Para inserir um novo registro em uma dessas tabelas, o usuário teria de proceder
manualmente: ir até o último registro da tabela e então clicar “Tab”. Quando o número
de dados ainda está na casa das dezenas, a inserção manual de registros é uma tarefa
simples. No entanto, imagine uma lista de dados com mais 50.000 registros. Para essas
situações, é indicado o uso de um formulário de dados.

2.3.1 Adicionando o botão “Formulário de Dados” à barra de ferramentas

O formulário de dados do Excel pode ser utilizado para trabalhar (adicionar,


excluir e editar) com registros. O botão de acesso ao “Formulário de Dados” não é
encontrado nas abas da barra de ferramentas. Para habilitá-lo de forma que possa ser
acesso na barra de ferramentas, o usuário tomar os seguintes passos:

Passo 1: Clicar em “Arquivo” → “Opções”


O Excel abre a janela “Opções do Excel” com o item “Comandos Mais Usados”
selecionado.
Passo 2: Selecionar o item “Comandos Fora da Faixa de Opções” na caixa de
combinação “Escolher comandos em”.
Passo 3: Na caixa de listagem ilustrado na Figura 2.13, deve-se procurar o botão
“Formulário” (para acelerar o processo aperte “F”). Em seguida, clique em
“Adicionar”. Tal qual ilustrado a seguir, o ícone do botão “Formulário” aparecerá na
caixa de listagem do lado direito:
58

Passo 4: Clique em “OK” e volte para a planilha com a lista de dados importada da seção
passada.

Figura 2.13 – Adicionando o botão “Formulário” à barra de ferramentas de acesso rápido.

2.3.2 Usando o formulário de dados

Quando o usuário clicar pela primeira vez no botão adicionado à barra de


ferramentas de acesso rápido (Figura 2.14), o Excel analisará a linha com os nomes dos
campos e os dados do primeiro registro. Na Figura 2.14 é mostrado o formulário de dados
criado a partir da tabela importada (Figura 2.12). Como pode ser observado, o formulário
de dados consiste em uma caixa de diálogo (cuja barra de título contém o nome do arquivo
da planilha atual, “Densidade Líquidos”) que contém uma lista vertical de cada campo
definido para a lista de dados.
59

Figura 2.14 – Abrindo o formulário de dados.

O Excel exibe automaticamente os dados do primeiro registro. No lado direito da


caixa de diálogo, o formulário de dados indica o número de identificação do registro atual
(em relação ao número total de registro na lista de dados - 1 de 415, neste caso). A caixa
de diálogo ilustrada também contém uma série de botões de comando o usuário adicionar
um novo registro, editar um registro específico ou excluir um registro da lista de dados.
Quando o formulário de dados é exibido no documento ativo, pode-se usar a barra
de rolagem (Figura 2.14) para percorrer os registros inseridos. Adicionando novos
registros com o formulário de dados
Para adicionar um novo registro à lista de dados, o usuário pode ir até o fim da
lista de dados (utilizando a barra de rolagem ou pressionando “Ctrl + ↓” ou “Crtl +
PgDown”) ou simplesmente clicar no botão “Novo”. Feito isso, um formulário em
branco (Figura 2.15) no qual os dados devem ser inseridos, terá sido automaticamente
aberta. De forma a otimizar o tempo gasto na inserção de um registro, pode-se navegar
entre os campos utilizando a tecla “Tab” (o usuário deve ter atenção para não pressionar
“Enter”; esta tecla insere o novo registro – incompleto – na lista de dados).
60

Figura 2.15 – Inserindo um novo componente no formulário de dados.

Uma vez inseridas todas as informações do novo registro, pode-se inseri-lo no


formulário de dados de três formas: apertando “↓”, a tecla “Enter” ou o botão “Novo”.
O Excel, após inserir o novo registro na última linha da lista de dados, automaticamente
exibirá um novo formulário em branco para que o próximo registro possa ser inserido.
Uma vez inseridos todos os registros, o usuário pode fechar o formulário de dados
pressionando a tecla “Esc” ou clicando no botão “Fechar” ilustrado na figura acima.

2.3.3 Editando registros com o formulário de dados

A utilização do formulário de dados facilita a edição de registros de um conjunto


de dados. Caso a lista de dados seja pequena, pode-se usar as teclas de navegação ou a
barra de rolagem para localizar o registro a ser editado. Em uma lista maior, pode-se usar
o botão “Critérios” para localizar rapidamente tal registro, conforme será descrito na
próxima subseção. Uma vez exibido o formulário de dados para o registro a ser editado,
o procedimento de edição torna-se simples: basta selecionar as caixas de texto dos campos
cujas alterações devem ser realizadas e modificar os valores.

2.3.4 Encontrando registros com o formulário de dados

Conforme mencionado, o usuário pode utilizar o botão “Critérios” no formulário


de dados para encontrar os registros a serem editados. Uma vez que o referido botão tenha
sido acionado, o Excel automaticamente limpa todos os campos para que os critérios a
serem buscados possam ser inseridos. A título de ilustração, suponha que durante a
importação de dados do exemplo apresentado na seção anterior, o campo “TMIN”
(temperatura mínima de validade da correlação) de um componente tenha sido inserido
de forma errada (p.ex.: o referido valor está negativo). Supondo que o usuário não saiba
qual era esse componente mas saiba que ele tinha cálcio em sua composição, pode-se
facilmente encontra-lo utilizando um critério de busca.
61

Para localizar o referido componente, o usuário pode restringir a pesquisa para


buscar os registros cujos valores para o campo “FORMULA” contenha “Ca” (cálcio).
Para tal, deve-se abrir o formulário de dados criado com os dados importados, clicar no
botão “Critérios” e digitar “Ca” no campo “FORMULA”. Em seguida, pode-se clicar no
botão “Localizar próx” ou pressionar a tecla “Enter”. Dessa forma, o Excel localizará
o primeiro registro na lista de dados cuja fórmula molecular contenha cálcio (Ca). No
presente caso, o referido registro é o próprio cálcio, conforme ilustrado na Figura 2.16.
De forma similar, para localizar o próximo registro que corresponda ao critério de busca,
deve-se clicar em “Localizar próx” ou pressionar “Enter”. Uma vez editado o registro
“defeituoso”, o Excel automaticamente o corrige na lista de dados da planilha.

Figura 2.16 – Buscando componentes contendo “Ca” em sua fórmula molecular.

Ao utilizar o botão “Critérios”, os seguintes operadores lógicos podem ser


utilizados para inserir critérios de pesquisa em campos que contenham números ou datas:

 Igual a (=): Encontra registros com o mesmo texto, valor ou data a ser buscada.
 Maior que (>): Encontra registros contendo caracteres de texto posteriores (na ordem
do alfabeto), de uma data futura ou de maior valor do que o buscado.
 Maior ou igual a (>=): Encontra registros com os mesmos caracteres de texto, data,
ou valor; encontra também registros contendo caracteres de texto posteriores (na
ordem do alfabeto), de uma data futura ou de maior valor do que o buscado.
 Menor que (<): Encontra registros contendo caracteres de texto anteriores (na ordem
do alfabeto), de uma data prévia ou de menor valor do que o buscado.
 Menor ou igual a (<=): Encontra registros com os mesmos caracteres de texto, data,
ou valor; encontra também registros contendo caracteres de texto anteriores (na ordem
do alfabeto), de uma data prévia ou de menor valor do que o buscado.
 Diferente de (<>): Encontra registros diferentes do texto, data ou valor que foi
digitado.
62

A título de ilustração, suponha que fosse necessário encontrar todos os registros


em que a temperatura máxima de validade da correlação é igual a 400 K. Para tal, o
usuário poderia inserir no campo “TMAX” um dos seguintes comandos: 400 ou = 400.
Para encontrar todos os registros que apresentam “TMAX” maiores ou igual 400, o
usuário poderia digitar o seguinte comando na caixa de texto “TMAX”: >=400. De forma
análoga, para encontrar todos os registros de compostos que apresentam cloro em sua
composição e que têm “TMAX” superior a 400, o usuário poderia digitar os seguintes
comandos nas caixas de texto “FORMULA” E “TMAX”: Cl e >=400.
Nos casos em que vários registros obedecem aos critérios de busca inseridos, pode
ser necessário clicar em “Localiza próx” ou “Localizar ante” várias vezes para localizar
o registro específico desejado. Para contornar esse trabalho manual, o usuário deve ser o
mais específico possível ao realizar uma busca no formulário. Caso nenhum registro se
encaixe nos critérios buscados, o computador emite um sinal sonoro. Para apagar os
critérios de pesquisa, marque as caixas de texto apropriadas e exclua os critérios antigos
para que em seguida novos critérios possam ser inseridos. Para voltar ao registro atual
sem usar os critérios de pesquisa digitados, pode-se clicar no botão “Formulário”.

2.3.6 Deletando registros com o formulário de dados

Conforme mencionado, o formulário de dados também permite a exclusão de


registros. Para excluir um registro, o procedimento é simples: basta localizar o registro a
ser excluído e acionar o botão “Excluir”. Deve-se ter atenção ao excluir registros, pois
esses não podem ser posteriormente restaurados. Por essa razão, o Excel exibe uma caixa
de diálogo de alerta (Figura 2.17) indicando que o registro exibido no formulário de dados
está prestes a ser excluído permanentemente. Caso o registro realmente tenha de ser
deletado, pode-se clicar em “OK” ou pressionar “Enter”. Para cancelar a exclusão,
pressione a tecla “Esc” ou clique no botão “Cancelar”.

Figura 2.17 – Alerta de exclusão de um registro do formulário de dados.


63

2.4 CLASSIFICANDO E FILTRANDO DADOS

Nesta seção o usuário aprenderá a utilizar as opções da subseção “Classificar e


Filtrar” (Figura 2.18) da aba “Dados” do Excel. Para mostrar como funcionam as
ferramentas de classificação e filtragem de dados, os dados importados anteriormente
serão novamente utilizados.

Figura 2.18 – Subseção “Classificar e Filtrar” da aba Dados.

2.4.1 Classificando dados

Como pode ser observado na Figura 2.18, o Excel apresenta três botões a serem
utilizados na filtragem de dados. As funções de dois são apresentadas a seguir:

Este botão é indicado quando se deseja classificar os dados de forma ascendente


utilizando apenas uma coluna como critério. No caso de a coluna conter dados do tipo
“texto”, esses classificados em ordem alfabética (A→Z); no caso de uma coluna conter
dados numéricos, esses serão classificados do menor para o maior; caso a coluna tenham
dados do tipo “data”, essas serão classificados em ordem crescente na escala de tempo.
A título de ilustração, os dados presentes na coluna “NAME” da tabela importada
anteriormente foram formatados em ordem alfabética. Para tal, os dados foram
selecionados e o botão “Classificar de A a Z” foi ativado. O resultado obtido é ilustrado
a seguir:

Figura 2.19 – Resultado da classificação ascendente.


64

Esse botão é indicado quando se deseja classificar os dados de forma descendente


utilizando apenas uma coluna como critério. Analogamente ao botão anterior, no caso de
a coluna conter dados do tipo “texto”, esses classificados em ordem alfabética decrescente
(Z→A); no caso de uma coluna conter dados numéricos, esses serão classificados do
maior para o menor; caso a coluna tenham dados do tipo “data”, essas serão classificados
em ordem decrescente na escala de tempo.
A título de ilustração, os dados presentes na coluna “NAME” da tabela importada
anteriormente foram formatados em ordem alfabética decrescente. Para tal, os dados
foram selecionados e o botão “Classificar de Z a A” foi ativado. O resultado obtido é
ilustrado na Figura 2.20.

Dica! No caso de a classificação ter sido feita de forma equivocada você pode desfazer o
procedimento utilizando o botão “Desfazer” ou utilizando o comando “Crtl + Z”.

Figura 2.20 – Resultado da classificação descendente.

Há situações em que vários campos devem ser utilizados como critérios de


classificação. Nessas, o botão “Classificar” (Figura 2.21) deve ser utilizado.

Figura 2.21 - Botão Classificar.


65

Para melhor entender o funcionamento desta ferramenta, classifiquemos os dados


da tabela anterior utilizando os seguintes critérios: “NAME” (classificado do maior para
o menor), “FORMULA” (classificado do menor para o maior), “ID” classificado do maior
para o menor. Os seguintes passos podem ser tomados para realizar a classificação:

Passo 1: Posicione o cursor do Excel em uma das células da lista de dados.


Passo 2: Clique na guia Dados → Clique no botão Classificar.
O Excel selecionará todos os registros da tabela de dados (com exceção da
primeira linha que contém os nomes dos campos) e abrirá a janela “Classificar” (Figura
2.22), a qual contém as opções para classificação utilizando os múltiplos critérios.

Figura 2.22 - Janela “Classificar”.

Passo 3: Selecione o campo “NAME” na caixa de listagem “Classificar por” →


Selecione a opção “Valores” na caixa de listagem “Classificar em” → Selecione a opção
“Do Maior para o Menor” na caixa de listagem “Ordem”.
Passo 4: Clique em “Adicionar Nível” → Selecione o campo “FORMULA” na nova
caixa de listagem “Classificar por” → Selecione a opção “Valores” na nova caixa de
listagem “Classificar em” → Selecione a opção “Do Menor para o Maior” na nova caixa
de listagem “Ordem”.
Passo 5: Clique em “Adicionar Nível” → Selecione o campo “ID” na caixa de listagem
“Classificar por” → Selecione a opção “Valores” na nova caixa de listagem “Classificar
em” → Selecione a opção “Do Maior para o Menor” na nova caixa de listagem “Ordem”.
Clique em “OK” ou pressione “Enter”. O resultado dos passos tomados anteriormente
é ilustrado na Figura 2.23; o resultado da classificação dos dados ficará de acordo com a
Figura 2.24.
66

Figura 2.23 - Janela “Classificar”, após os critérios desejados serem inseridos.

Figura 2.24 – Lista de Dados após a classificação de vários campos.

Atenção! Quando for utilizada uma classificação ascendente para um campo de uma
tabela contendo diferentes tipos de dados, o Excel primeiro classificará os dados
numéricos (do menor para o maior) antes de classificar dados do tipo “texto” (em ordem
alfabética), seguidos por qualquer valor lógico (FALSO ou VERDADEIRO), erros de
valores, e finalmente, células em branco. Quando a ordem descendente for utilizada, o
Excel realizará a classificação de forma similar: os dados do tipo “número” são
classificados primeiro (do maior para o menor); em seguida, os dados do tipo “texto” são
classificados de “Z a A”; finalmente, os valores lógicos “VERDADEIRO” precedem os
valores lógicos “FALSO”.
Por padrão, quando uma operação de classificação é efetuada, o Excel assume que
a primeira linha da tabela é a linha de cabeçalho (a qual contém os títulos dos campos) a
qual não deve ser classificada juntamente com os outros registros. No entanto, caso seja
necessário, o usuário pode usar a primeira linha na classificação. Para isso, deve-se
desmarcar a caixa de seleção “Meus dados contém cabeçalhos” da janela “Classificar”
(Figura 2.23).
A janela “Classificar” contém o botão “Opções”, que ao ser acionado, abre a
janela “Opções de classificação” (Figura 2.25). Conforme ilustrado, essa janela possui
uma caixa de seleção que permite com que o usuário possa diferenciar entre letras
67

maiúsculas e minúsculas no procedimento de classificação. Além disso, também são


dadas as opções de realizar a classificação por colunas (“De cima para baixo”) ou por
linhas (“Da esquerda para a direita”).

Figura 2.25 – Opções de classificação.

Apesar da maioria das classificações serem relativas aos valores dos registros,
também é possível selecionar os critérios de classificação “cor da fonte”, “cor da célula”
e “ícone da célula”, como pode ser visto na Figura 2.26.

Figura 2.26 – Critérios de classificação.

2.4.2 Filtrando Dados

Em alguns casos, o usuário pode desejar análises estratificadas de um conjunto de


dados. Por exemplo, pode ser necessário avaliar quais dos compostos da tabela importada
na seção anterior apresentam o parâmetro “A” maiores do que 1. Para esse e a maioria
dos problemas, pode-se utilizar o botão de “Filtro” (Figura 2.18) é suficiente. No entanto,
em algumas situações, o referido recurso pode não ser necessário para a análise desejada.
Por exemplo, há casos em que o usuário pode desejar obter os dados onde um dado campo
“X” apresente valores iguais ao dobro do campo “Y”. O usuário pode também querer
disponibilizar os dados filtrados em outra parte da planilha. Para essas e outras situações,
o botão “Avançado” (Figura 2.18) deverá ser utilizado. Para grande parte das aplicações
de Engenharia, o recurso “Filtro” é suficiente. Devido a isso, apenas esse recurso será
abordado neste material.
A funcionalidade “AutoFiltro” (botão Filtro na guia Dados) permite ao usuário
filtrar dados indesejados em uma lista de dados de maneira simples: basta clicar no
68

referido botão da coluna cujos dados deverão ser filtrados e em seguida, escolher um
critério de filtragem. Mais uma vez, a lista de dados importada anteriormente (seção 2.2)
será aqui utilizada para ilustrar o procedimento de filtragem de dados. Para disponibilizar
os filtros de cada coluna você deverá tomar um dos seguintes passos: “Guia Dados” →
“Filtro” ou pressionar “Ctrl + Shift + L”. Automaticamente, os botões para filtragem
de cada coluna estarão disponíveis conforme ilustrado na Figura 2.27.

Figura 2.27 – Botões “AutoFiltro”.

As opções de filtro no filtro automático de uma coluna dependem do tipo de dado


nela presentes. O procedimento de filtragem é simples e intuitivo. Diante disso, os
conceitos relacionados a esse serão mostrados na forma do seguinte exemplo:
Suponha que seja desejado saber quais dos compostos da tabela obedecem
simultaneamente aos seguintes critérios: apresentam cloro e prata em sua composição,
possuem temperaturas mínima e máxima de validade da correlação maiores do que 300
K e menores do 500 K, respectivamente. Para tal, os seguintes passos podem ser tomados:

Passo 1: Clique no botão para filtragem da coluna “FORMULA” → “Filtros de Texto”


→ “Contém”. → Na caixa de diálogo “Personalizar AutoFiltro” (Figura 2.28) escreva
“Cl*” na primeira caixa de texto e depois “Ag*” na segunda caixa de texto; em seguida,
selecione “Ou”. O resultado será o ilustrado na Figura 2.29. Note que no canto inferior
esquerdo aparece a quantidade de registros filtrados (103 de 415).
69

Figura 2.28 – Caixa de diálogo “Personalizar AutoFiltro” para o primeiro critério de filtragem.

Figura 2.29 – Resultado após o primeiro critério de filtragem.

Passo 2: Clique no botão para filtragem da coluna “TMIN” → “Filtros de Número” →


“É Maior do que...” → Na caixa de diálogo “Personalizar AutoFiltro” (Figura 2.30),
escreva “300” na primeira caixa de texto. O resultado é ilustrado na Figura 2.31. Note
que a quantidade de registros filtrados agora é menor (44 de 415).

Figura 2.30 - Caixa de diálogo “Personalizar AutoFiltro” para o segundo critério de filtragem.
70

Figura 2.31 - Resultado após o segundo critério de filtragem.

Passo 3: Clique no botão para filtragem da coluna “TMAX” → “Filtros de Número” →


“É Menor do que...” → Na caixa de diálogo “Personalizar AutoFiltro” (Figura 2.32)
escreva “500” na primeira caixa de texto. O resultado é ilustrado na Figura 2.33. Note
que a quantidade registros filtrados agora é menor (3 de 415).
Para limpar a filtragem realizada, clique o botão “Limpar” da subseção
“Classificar e Filtrar” presente na aba “Dados” ou simplesmente pressione “Crtl + Z”
(Desfazer).

Figura 2.32 - Caixa de diálogo “Personalizar AutoFiltro” para o terceiro critério de filtragem.
71

Figura 2.33 - Resultado após o terceiro critério de filtragem.

2.5 ELIMINANDO REGISTROS COM CAMPOS DUPLICADOS

Para encontrar e remover rapidamente registros duplicados de uma tabela de


dados, o usuário pode utilizar o recurso “Remover Duplicatas”. Tal recurso é muito útil,
principalmente quando for necessário manipular um conjunto muito grande de dados (que
não possua um manipulador de registros duplicados) no qual diversos usuários inserem
registros. Para o Excel remover todos os textos duplicados de uma lista de dados ou tabela,
os seguintes passos devem ser tomados:

Passo 1: Posicione o cursor em uma das células da tabela de dados.


Passo 2: Na aba “Dados”, clique em “Remover Duplicatas”. Todas células da lista de
dados serão selecionadas e, em seguida, aparecerá a seguinte caixa de diálogo:

Figura 2.34 – Caixa de diálogo “Remover Duplicatas”.


72

Perceba que, quando esta caixa de diálogo é aberta, todos os campos da tabela de
dados são automaticamente selecionados. Ao clicar em “OK”, o Excel excluirá os
registros completamente duplicados de uma mesma tabela. Em outras palavras, as linhas
repetidas serão deletadas. Para remover os registros duplicados de campos individuais, o
usuário deve selecioná-los nas caixas ilustradas na figura anterior.
Passo 3 (Opcional): Remova as marcas de todos os campos das colunas da caixa de
listagem, exceto aquelas que, no caso de duplicadas, sejam motivo para a exclusão dos
registros.
Passo 4: Clique em “OK”. Assim, o Excel terá removido todos os registros duplicados
(linhas) do conjunto de dados selecionado.

2.6 CRIANDO UMA LISTA SUSPENSA NA CÉLULA

Em diversas aplicações de Engenharia, as variáveis relacionadas a um


determinado problema podem assumir uma quantidade limitada de valores. A título de
ilustração, pode-se analisar a seguinte planilha referente ao orçamento de material elétrico
de uma obra.

Figura 2.35 – Orçamento de material elétrico de uma obra.

Supondo que a referida empresa trabalha com dez diferentes tipos de marcas (A,
B, C, D, E, F, G, H, I e J), é intuitivo inferir que os valores da coluna “MARCA” só
poderão ser preenchidos com um dentre esses. Para esses casos específicos, o Excel
possibilita com que o usuário crie listas suspensas nas células cujos conteúdos assumem
somente alguns valores fixos. Um exemplo de lista suspensa para o campo “MARCA” é
apresentado na Figura 2.36.
73

Figura 2.36 – Criando uma lista suspensa na célula.

Para cria ruma lista similar à ilustrada acima, pode-se usar o recurso “Validação
de Dados” disponível na aba “Dados”. As etapas a seguir ilustram o procedimento de
criação da referida lista.

Passo 1: Digite a lista de itens em um intervalo qualquer da planilha (no exemplo acima,
o intervalo escolhido foi “J2:J11”).
Passo 2: Selecione as células nas quais as listas suspensas devem ser inseridas (no
exemplo acima, todas as células da coluna “B” - com exceção de “B1”).
Passo 3: Clique na aba “Dados” → “Ferramenta de Dados” → “Validação de Dados”.
Passo 4: Na caixa de diálogo “Validação de Dados”, clique na aba “Configurações”.
Passo 5: Na caixa de listagem “Permitir”, selecione Lista.
Passo 6: Em “Fonte”, especifique o intervalo que contém os itens da lista.
Passo 7: Certifique-se de que a opção “Menu suspenso na célula” esteja selecionada
(veja a Figura 2.37) e clique em “OK”.
74

Figura 2.37 – A caixa de diálogo “Validação de dados”.

Caso o número de opções da lista suspensa seja pequeno, pode-se evitar o Passo
1; basta digitar os itens da lista (separados por vírgula) na caixa “Fonte” ilustrada acima.

Dica! Como forma de tornar a planilha de trabalho mais organizada, o usuário deve evitar
colocar as opções que devem aparecer na lista suspensa na mesma planilha dos dados. É
aconselhável colocar a lista de itens em uma planilha oculta.
Dica 2! O recurso “Validação de Dados” também permite restringir os tipos de dados a
serem inseridos em uma célula ou intervalo de células. Em alguns casos, o usuário pode
inclusive criar uma “Mensagem de Entrada” ou um “Alerta de Erro” caso na célula
contendo a lista suspensa seja inserido um valor não permitido.
O Excel apresenta outros recursos a serem utilizados na análise de dados. Porém,
a apresentação destes recursos foge do escopo deste material.
75

CAPÍTULO 3 RESOLVENDO PROBLEMAS NUMÉRICOS


NO EXCEL

3.1 O ATINGIR META

Em muitos problemas de engenharia é necessário resolver equações não lineares


de forma iterativa. Qualquer problema cuja resolução requeira a realização manual de um
procedimento iterativo é enfadonho e deve ser resolvido utilizando algum recurso
adicional. Para estes casos, o Excel o recurso “Atingir Meta”. A seguir, são
demonstrados dois exemplos que ilustram a utilização do referido recurso.

ATIVIDADE DIDÁTICA 3
Qual é a temperatura final, quando uma quantidade de calor igual a 0,4·106 BTU é
adicionada a 25 lb-mol de amônia (inicialmente a uma temperatura de 500 ºF) em um
processo com escoamento em regime estacionário à pressão atmosférica (1 atm)? Sabe-
se que a relação entre a capacidade calorífica da amônia e a temperatura é dada pela
seguinte equação:

𝐶𝑝
= 𝐴 + 𝐵𝑇 + 𝐶𝑇 −2 (3.1)
𝑅

Onde A = 3,578; B = 3,02·10-3; C = -1,86·104 e T é a temperatura [K].

Resolução
Para um processo com escoamento em regime estacionário no qual não está envolvido
nenhum tipo de trabalho, o balanço de energia é dado pela seguinte equação:

𝑄 = 𝑛∆𝐻 (3.2)

Onde 𝑛 é o número de mols, 𝑄 é o calor e ∆𝐻 é a variação de entalpia do fluido, neste


caso a amônia.

3
Retirado de SMITH, J. M. VAN NESS, H. C. ABBOTT, M. M. Introdução à Termodinâmica da
Engenharia Química. 7. ed. Rio de Janeiro: LTC, 2007.
76

A variação de entalpia de um fluido pode ser calculada pela integral da equação


da capacidade calorífica entre as temperaturas inicial (𝑇𝑖 ) e final (𝑇𝑓 ) do processo, tal qual
ilustrado na seguinte equação:

𝑇 𝐵
∆𝐻 = ∫𝑇 𝑓 𝐶𝑝 𝑑𝑇 = 𝑅 [𝐴(𝑇𝑓 − 𝑇𝑖 ) + 2 (𝑇𝑓 2 − 𝑇𝑖 2 ) − 𝐶(𝑇𝑓 −1 − 𝑇𝑖 −1 )] (3.3)
𝑖

Após a substituição dos valores do enunciado do problema, teremos uma equação cúbica
em 𝑇𝑓 (verifique). Para resolver esse problema os seguintes passos podem ser tomados:

Passo 1: Calcular o valor de ∆𝐻 (molar) da amônia

𝑄 0,4∙106
∆𝐻 = = = 16.000 (Btu) (lb mol)-1 (3.4)
𝑛 25

Passo 2: Converter todas as unidades para os valores correspondentes no SI.

Este passo deve ser tomado uma vez que a temperatura da equação da capacidade
calorífica está em Kelvin. Dado que 1 J mol-1 é equivalente a 0,4299 (Btu)(lb mol)-1,
dividimos o resultado anterior por 0,4299:

16.000
∆𝐻 = 0,4299 = 37.218 J mol-1 (3.5)

Convertendo 𝑇𝑖 de ºF para K:

500+459,67
𝑇𝑖 = = 533,15 K (3.6)
1,8

Passo 3: Escrever a Equação 3.3 em uma célula.

Para facilitar a inserção da equação na célula, pode-se nomeá-las (alterando o valor da


caixa de identificação – veja a Figura 1.2) com os parâmetros da seguinte forma: “B3”
como “Q.”; “B5” como “Ti”; “B6” como “Tf”; “B8 como “A.”; “B9” como B.; “B10”
como “C.” e “B11” como “DeltaH”. Então, na célula “B11” escreve-se a fórmula da
variação de entalpia, conforme ilustrado pela Figura 3.1.
77

Figura 3.1 – Equação da variação da entalpia.

Após o pressionar “Enter”, o seguinte resultado foi obtido:

Figura 3.2 – Erro no cálculo da variação de entalpia.

Esse erro indica que ocorreu uma divisão por zero na equação; esse aconteceu porque na
Equação 3.3 ocorre uma divisão por 𝑇𝑓 e a célula que contém o valor dessa variável está
vazia.

Passo 4: Fornecer uma estimativa inicial para Tf.

Nessa etapa, entra o conhecimento do leitor sobre o assunto, já que uma


estimativa inicial ruim pode fazer o algoritmo de cálculo convergir para um resultado
fisicamente inconsistente ou, em alguns casos, não convergir.
Como está havendo um aquecimento da amônia (calor está sendo cedido ao
sistema), a temperatura final deverá ser maior do que a temperatura inicial. Utilizaremos
como estimativa o valor de 700 K.
78

Passo 5: Escrever a função objetivo

Essa é a função a ser zerada e será dada por

𝑄
𝑓𝑜𝑏𝑗 = ∆𝐻 − 𝑛 (3.7)

Na planilha, tal equação será escrita na célula “B12”, conforme ilustrado na


Figura 3.3.

Figura 3.3 – Inserindo a função objetivo

Passo 4: Utilizar o “Atingir Meta”

Clique na aba “Dados” → “Ferramenta de Dados” → “Teste de


Hipóteses” → “Atingir Meta...”. Você deverá preencher os campos da janela que surgirá
(Figura 3.4).

Figura 3.4 – A Caixa de diálogo “Atingir Meta”.


79

A seguir, segue uma breve descrição de cada campo dessa caixa de diálogo:

Definir célula: permite ao usuário escolher qual a célula que deverá atingir um
determinado valor (no referido caso, a célula “B12”, que contém a função objetivo, foi
escolhida).
Para valor: permite ao usuário alterar valor a ser atingido pela função objetivo (no
referido caso, o valor escolhido foi zero)
Alternando célula: permite ao usuário escolher qual será a variável a ser iterada (no
referido caso, a variável escolhida foi 𝑇𝑓 )

Passo 5: Ao clicar em “OK”, o Excel realiza o procedimento iterativo. O resultado final


obtido foi: 𝑇𝑓 = 1250,2 K e 𝑓𝑜𝑏𝑗 = −2,07 · 10−8 . Note que o valor conseguido para a
função objetivo satisfaz a precisão de cálculo para o referido caso.

Figura 3.5 – Resultado para a temperatura final, após a utilização do Atingir meta.

Dica! O “Atingir Meta” é bastante útil para realizar cálculos iterativos com funções de
uma variável. No entanto, há formas de otimizar esse algoritmo. Caso você esteja
estudando métodos numéricos, é bom ter em mente que, para resolver alguns problemas,
alguns algoritmos são “mais indicados” do que outros. No caso do “Atingir Meta”, pode-
se “melhorar” o resultado “amplificando” a função objetivo (p.ex.: multiplicando-a por
1.000). Uma vez que o objetivo é igualá-la a 0, igualá-la a 1.000*0 significa o mesmo.
No entanto, nesse último caso, o algoritmo que se “contentaria” com um resíduo de 0,1
não se “contenta” com um resíduo de 100. Para o exemplo ilustrado anteriormente, essa
“amplificação” seria irrelevante, mas há casos onde isso pode ser necessário.
80

ATIVIDADE DIDÁTICA 4
Encontre os valores de x nas interseções das funções:

𝑓1 = √𝑥 − ln(𝑥) − 0,8 (3.8)


𝑓2 = 0,03 ∙ 𝑥 5/𝑥 − 0,04 (3.9)

Resolução
Se for construído um gráfico como o da Figura 3.6, pode-se perceber que uma das
interseções ocorre entre 1 e 2, enquanto a outra ocorre próximo de 10.

Figura 3.6 – Gráfico das funções f 1 e f 2 .

Uma forma de resolver o problema é criar uma função 𝑓3 = 𝑓2 − 𝑓1 e encontrar os


valores de 𝑥 que são suas raízes. Para isso, tome os seguintes passos:

Passo 1: Construa uma planilha como a da Figura 3.7:

Figura 3.7 – Estimativa das interseções entre duas funções.

4
Retirado de MOURA, L. F. Excel para Engenharia Vol. 1. São Carlos: EduFSCar, 2007.
81

Passo 2: Nomeie a célula “A2” como “xMenor.” e a célula “A3” como “xMaior.”
Passo 3: Nomeie a célula “B2” como “f1Menor.” e a célula “B3” como “f1Maior.”
Passo 4: Nomeie a célula “C2” como “f2Menor.” e a célula “C3” como “f2Maior.”
Passo 5: Nomeie a célula “D2” como “f3Menor.” e a célula “D3” como “f3Maior.”
Passo 6: Introduza a fórmula “=RAIZ(xMenor.)-LN(xMenor.)-0,8” em “B2”.
Passo 7: Introduza a fórmula “=RAIZ(xMaior.)-LN(xMaior.)-0,8” em “B3”.
Passo 8: Introduza a fórmula “=0,03*xMenor.^(5/xMenor)-0,04” em “C2”.
Passo 9: Introduza a fórmula “=0,03*xMaior.^(5/xMaior)-0,04” em “C3”.
Passo 10: Introduza a fórmula “=f2Menor.-f1Menor.” em “D2”.
Passo 11: Introduza a fórmula “=f2Maior.-f1Maior.” em “D3”.

Observa-se que em “A2” foi escolhido um valor entre 1 e 2 e, em “A3”, um valor próximo
de 10. Essas escolhas fundamentaram-se no gráfico da Figura 3.6.

Passo 12: Clique na aba “Dados” → “Ferramenta de Dados” → “Teste de Hipóteses”


→ “Atingir Meta... ” e preencha os campos conforme ilustrado na Figura 3.8:

Figura 3.8 – Parâmetro do “Atingir Meta” para a menor raiz.

Passo 13: Clique na aba “Dados” → “Ferramenta de Dados” → “Teste de Hipóteses”


→ “Atingir Meta... ” e preencha os campos conforme ilustrado na Figura 3.9:

Figura 3.9 – Parâmetros do Atingir Meta para a maior raiz.


82

Os resultados obtidos serão: x=1,37 e x=9,92.

3.2 O SOLVER

Para problemas de engenharia mais complexos, a ferramenta “Atingir Meta”


pode não ser suficiente para encontrar as soluções. Exemplos desses casos incluem
problemas para os quais é necessário encontrar as melhores soluções de modelos que são
funções de múltiplas variáveis, e nos quais é necessário impor restrições nos valores das
variáveis e/ou no valor de saída. Para esses casos, indica-se a utilização do recurso
“Solver”. Talvez essa seja a ferramenta mais importante para o uso em cálculos de
Engenharia.
O “Solver” aplica métodos iterativos para encontrar a “melhor” solução para um
problema. Tal solução depende das variáveis de entrada e das restrições impostas pelo
usuário. Em cada iteração, o programa aplica um método de tentativa e erro para tentar
se aproximar da solução ideal. Ao utilizar esse recurso, o usuário perceberá que muitos
problemas, especialmente os mais complicados, podem apresentar várias soluções. Em
outras palavras, apesar do “Solver” retornar uma solução (dados os valores iniciais, as
variáveis que podem mudar e as restrições definidas), essa pode não a melhor solução
possível de ser obtida. Para ter certeza de que a solução encontrada solucionará o
problema da forma desejada, o usuário pode ter de executar o “Solver” mais de uma vez,
ajustando os valores iniciais em cada uma dessas tentativas.

3.2.1 Instalando o “Solver”

Assim como o botão do “Formulário de Dados”, o “Solver” tem de ser habilitado


para que o usuário possa acessá-lo na aba “Dados”. Para tal, o seguinte procedimento
pode ser seguido:

Passo 1: Clique na guia “Arquivos”.


Passo 2: Clique em “Opções” e, em seguida, na categoria “Suplementos”.
Passo 3: Próximo ao final da caixa de diálogo “Opções do Excel”, verifique se
“Suplementos do Excel” está selecionado na caixa “Gerenciar” e clique em “Ir”.
Passo 4: Na caixa de diálogos “Suplementos”, marque a caixa de seleção do “Solver”;
em seguida, clique em “OK”.
Passo 5: Caso o Excel exiba uma mensagem declarando que não pode executar esse
suplemento e solicitar que você o instale, clique em “Sim”.
Na guia “Dados”, observe que a subseção “Análise” foi criada. Esse grupo contém o
botão de comando do suplemento “Solver”, conforme ilustrado pela Figura 3.10.
83

Figura 3.10 – O botão de comando do suplemento “Solver”.

Quando você clica no botão de comando do “Solver”, a seguinte caixa de diálogo


aparecerá:

Figura 3.11 – Caixa de diálogo do suplemento Solver.

Para resolver um problema, os seguintes itens devem ser definidos:


 Definir Objetivo: permite definir célula-alvo da planilha cujo valor deve ser
maximizado, minimizado ou cujo conteúdo deve atingir um valor particular. Note que
esta célula deve conter uma fórmula.
 Alternando Células Variáveis: permite escolher as células da planilha cujos valores
devem ser ajustados até que a resposta seja encontrada.
 Sujeito às restrições: permite inserir restrições a serem impostas sobre os valores em
mudanças nas células variáveis e/ou na célula objetivo.

Além dessas opções você pode escolher qual o método numérico será utilizado. A
escolha do método numérico depende da experiência do usuário para os diferentes tipos
de problema. Outra série de opções surge quando você clica no botão de comando
“Opções” da caixa de diálogo “Parâmetros do Solver”, o qual apresentará uma caixa
de diálogo contendo as opções do método escolhido: precisão, tolerância, tempo máximo
84

de execução, número máximo de iterações, etc. Uma vez que esses parâmetros tenham
sido definidos e que o “Solver” tenha resolvido o problema, o programa retornará a
melhor solução e modificará os valores presentes na planilha. Então, pode-se optar por
manter as alterações ou restaurar os valores originais da planilha.
.
Dica! Pode-se também salvar a solução como um cenário a ser posteriormente acesso
antes de restaurar os valores originais. Para tal, deve-se utilizar o “Solver” com o
“Gerenciador de Cenários”. As células variáveis definidas para o “Gerenciador de
Cenários” são automaticamente detectadas e utilizadas pelo “Solver” quando você
seleciona este comando, e vice-versa. Além disso, você pode salvar a solução do “Solver”
para um problema com um cenário (clicando no botão “Salvar Cenário” na caixa de
diálogo Solver), que você pode ver com o “Gerenciador de Cenários”.
Para melhorar o entendimento desta ferramenta, siga para a seguinte atividade
didática.

ATIVIDADE DIDÁTICA 5
Uma empresa deseja produzir uma mistura de três substâncias: A, B e C, com composição
50% de A, 20% de B e 30% de C. As matérias-primas disponíveis no mercado, seus
preços e suas composições em porcentagem são mostradas na Tabela 3.1.

Tabela 3.1 – Composições das matérias-primas.


Mistura 1 Mistura 2 Mistura 3 Mistura 4
Concentração de A (%) 43 45 20 80
Concentração de B (%) 40 12 20 15
Concentração C (%) 17 43 60 5
Preço/t R$ 3,20 R$ 9,20 R$ 4,00 R$ 2,00

Qual a quantidade de cada mistura para que o custo por tonelada seja mínimo?

Resolução
O problema pode ser modelado pelo sistema de equações:

𝑞1 + 𝑞2 + 𝑞3 + 𝑞4 = 1.000 (3.10)
0,43𝑞1 + 0,45𝑞2 + 0,20𝑞3 + 0,80𝑞4 = 500 (3.11)
0,40𝑞1 + 0,12𝑞2 + 0,20𝑞3 + 0,15𝑞4 = 200 (3.12)

5
Retirado de MOURA, L. F. Excel para Engenharia Vol. 1. São Carlos: EduFSCar, 2007.
85

0,17𝑞1 + 0,43𝑞2 + 0,60𝑞3 + 0,05𝑞4 = 300 (3.13)


3,20𝑞1 + 9,20𝑞2 + 4,00𝑞3 + 2,00𝑞4 = 𝑃 (Função a ser minimizada) (3.14)
𝑞1 > 0; 𝑞2 > 0; 𝑞3 > 0; 𝑞4 > 0 (Restrições físicas, massas devem ser positivas) (3.15)

Siga os seguintes passos no Excel:

Passo 1: Construa uma planilha de acordo com a Figura 3.12:

Figura 3.12 – Planilha para a resolução do problema de minimização de custo.

Passo 2: Selecione o intervalo “A1:I2” e pressione “Ctrl + Shift + F3”. Selecione a


opção “Linha superior” e clique em “OK”, conforme ilustra a Figura 3.13. A partir de
agora, as células da segunda linha estão nomeadas com as respectivas células da linha
superior.

Figura 3.13 – Caixa de diálogo Criar nomes a partir da Seleção.

O valor 250, introduzido nas células “A2:D2”, fundamenta-se na hipótese de que as


matérias-primas serão adquiridas em quantidades iguais (estimativas iniciais).

Passo 3: Digite a fórmula “=q1.+q2.+q3.+q4.” em “E2”.


Passo 4: Digite a fórmula “=0,43*q1.+0,45*q2.+0,2*q3.+0,8*q4.” em “F2”.
Passo 5: Digite a fórmula “=0,4*q1.+0,12*q2.+0,2*q3.+0,15*q4.” em “G2”.
Passo 6: Digite a fórmula “=0,17*q1.+0,43*q2.+0,6*q3.+0,05*q4.” em “H2”.
Passo 7: Digite a fórmula “=3,2*q1.+9,2*q2.+4*q3.+2*q4.” em “I2”.
86

Passo 8: Clique na guia “Dados” → “Análise” → “Solver” e preencha caixa de diálogo


que irá surgir conforme ilustrado pela Figura 3.14.

Ao clicar em “OK” e resolver, o resultado será conforme ilustrado na Figura 3.15.


Com isso, será necessário comprar 179,41 kg de A, 242,03 kg de B, 248,18 kg de C e
330,38 kg de D, com um custo total de R$ 4.454,28.

Figura 3.14 – Caixa de diálogo do Solver para a resolução do problema.

O resultado final obtido é ilustrado na Figura 3.15

Figura 3.15 – Resultados obtidos após a utilização do Solver.

3.2.2 Utilizando Macros

Muitas vezes o estudante ou profissional de Engenharia pode ter de realizar tarefas


repetivivas. Por exemplo, suponha que fosse necessário avaliar a influência do calor
87

fornecido na temperatura final da amônia (Problema da seção 3.1). Como vimos, para a
resolução desse tipo de problema, a utilização do botão “Atingir Meta” é sugerida. Para
avaliar qual seria a temperatura final da amônia com a quantidade de calor seria
necessário utilizar o referido botão várias vezes. Quando tarefas de natureza repetida
devem ser realizadas, torna-se fundamental utilizar as Macros.
Macros permitem ao usuário automatizar quase que qualquer tarefa do Excel. Ao
utilizar o gravador de Macros do Excel para registrar tarefas que são executadas
rotineiramente, o usuário não só acelera o processo consideravelmente como também
poderá ter a certeza de que cada passo executado pela Macro será realizado da mesma
maneira que seria executada manualmente. Todos os comandos inerentes a uma Macro
são registrados na linguagem VBA. Nesta seção, o leitor aprenderá a criar Macros para
uma aplicação específica de Engenharia, conforme ilustrado na atividade didática a
seguir:

ATIVIDADE DIDÁTICA
A mecânica estatística mostra que a equação de estado de um gás real a uma pressão não
muito elevada pode ser expressa como a seguinte série de potências em 1/𝑉𝑚 :

𝐵(𝑇) 𝐶(𝑇) 𝐷(𝑇)


𝑃𝑉𝑚 = 𝑅𝑇 [1 + + 2 + 3 +⋯] (3.16)
𝑉𝑚 𝑉𝑚 𝑉𝑚

A Equação 3.16 é conhecida por expansão do Virial. Os coeficientes B, C, D, etc., que


são funções apenas da temperatura (T), são denominados segundo, terceiro, quarto, n-
ésimo coeficientes do virial. Seus valores podem ser determinados a partir de dados
experimentais de gases (PVT). Utilizando a Equação 3.16 plote o gráfico do volume
molar versus a pressão para o gás metano a 300 K. Nestas condições, sabe-se que os
valores para o segundo e o terceiro coeficientes do virial são:

𝐵 = −42,2 cm3/mol e 𝐶 = 2.410 cm6/mol2


Resolução

Perceba que a Equação 3.16, quando truncada no terceiro termo, torna-se uma equação
cúbica no volume. Com isso, o recurso “Solver” poderá ser utilizado na resolução do
problema. Para isso, é necessário deixar a função da seguinte forma:

𝐵(𝑇) 𝐶(𝑇)
𝑓(𝑉𝑚 ) = 𝑅𝑇 [1 + + 2 ] − 𝑃𝑉𝑚 (3.17)
𝑉𝑚 𝑉𝑚
88

A função anterior será tomada como função objetivo. Portanto, ao utilizar o “Solver”, o
valor zero será buscado para essa. Suponha que seja desejado avaliar o comportamento
para 10 pressões diferentes, conforme ilustrado na Figura 3.16.

Figura 3.16 – Planilha para a resolução do problema da equação do virial.

Para tal, seria necessário executar o comando “Solver” dez vezes Com isso, a
utilização de uma Macro, a tarefa pode se tornar bem menos enfadonha. Para tal, os
seguintes passos devem ser tomados:

Passo 1: Nomeie a célula “B3” de “R.”.; a célula “B4 de “T.; a célula “B5 de “B. e a
célula “B6 de “C..
Passo 2: Se a aba “Desenvolvedor” não estiver disponível na barra de ferramentas, vá
em “Arquivos” → “Opções” → “Personalizar Faixa de Opções” → na caixa de
listagem “Escolher comandos em” selecione “Todas as Guias” → No menu abaixo
clique em “Desenvolvedor” e depois no botão “Adicionar” → clique no botão “OK”.
Feito isto, uma nova aba terá surgido na barra de ferramentas, conforme ilustrado na
Figura 3.17.

Figura 3.17 – A guia “Desenvolvedor”


Passo 3: Deixe o botão “Usar Referências Relativas” desabilitado. Desta forma, a
macro será executada de acordo com a célula que estiver selecionada. Caso esse botão
não esteja acionado, a ação da macro ocorrerá sempre na mesma célula utilizada no
processo de gravação.
89

Passo 4: Clique no botão “Gravar Macro”. Então, a caixa de diálogo da Figura 3.18
surgirá. Nela, o usuário pode inserir um nome para a Macro, uma tecla de atalho para que
a Macro possa ser executada e uma descrição de operação da Macro. Finalmente, clique
em “OK” na caixa de diálogo “Gravar Macro”.

Figura 3.18 – A caixa de diálogo “Gravar macro”.

Passo 5: Mantenha o cursor na célula “A10” (isso é importante, pois estamos utilizando
referências relativas – Passo 3) e escreva:
Na célula “B10” a seguinte fórmula: “=(R.*T.)/A10”. Essa é a estimativa inicial para o
volume molar utilizando a equação do gás ideal, 𝑉 = 𝑅𝑇/𝑃.
Na célula “C10” a seguinte fórmula: “=(R.*T.)*(1+B./B10+C./B10^2)-A10*B10”. Essa
é a fórmula da função objetivo (Equação 3.17).

Passo 6: Clique na guia “Dados” → “Solver”. Preencha a caixa de diálogo “Parâmetros


do Solver”, como mostra a Figura 3.19. Clique no botão “OK”. A restrição imposta é
para um valor de volume negativo não seja encontrado

Figura 3.19 – Caixa de diálogo “Parâmetros do Solver” para o cálculo da equação do Virial.
90

Passo 7: Para executar a macro vá na aba “Desenvolvedor” → “Macros” → selecione


a macro desejada (“CalcularVirial”) e clique em “Executar”. Caso você não tenha o
“Solver” instalado no VBA aparecerá a seguinte mensagem:

Figura 3.20 – Aviso no caso de não ter o recurso “Solver” instalado no ambiente VBA.

Passo 8: Para a instalação do “Solver” no ambiente VBA, clique em “OK” e depois, no


ambiente VBE (detalhes serão vistos no próximo capítulo) clique no botão “Redefinir”
→ no item “Ferramentas” → “Referências” → na caixa de diálogo “Referências” –
“VBAProject” selecione a opção “Solver”, conforme ilustrado na Figura 3.21, e clique
em “OK”.

Figura 3.21 – Instalando o recurso “Solver” no ambiente VBA.


91

Passo 9: Feche a janela do ambiente VBA e execute a Macro. O seguinte resultado será
atingido:

Figura 3.22 – Valor do volume molar utilizando a equação do virial para a pressão de 0,5 bar.

Passo 11: Para que não seja necessário realizar o Passo 7 várias vezes, é indicado inserir
um botão em sua planilha e atribuir a macro “CalcularVirial” a ele. Para isso vá na guia
“Desenvolvedor” → “Inserir” → “Botão (Controle de Formulário) ”. Conforme
ilustrado pela Figura 3.23.

Figura 3.23 – Inserindo um botão na planilha.

Quando o usuário clicar no ícone do botão e depois clicar em alguma célula da planilha,
aparecerá a caixa de diálogo “Atribuir Macro” (Figura 3.24) na qual deverá ser indicada
a Macro que o botão deverá executar.
92

Figura 3.24 – Caixa de diálogo “Atribuir Macro”.

Clicando com o botão direito do mouse no botão, aparecerá um menu onde a opção
“Editar Nome pode ser utilizada para dar um nome ao botão. Aqui, nomeamos o botão
como Calcular Volume (Figura 3.25).
Passo 10: Copie (“Crtl + C”) os valores de pressão e volume obtidos e cole-os nas células
“A14:B14 (“Crlt + V”). Preencha o intervalo “A15:B25” inserindo outras pressões na
célula “A10”, clicando no botão “Calcular Volume” e colocando os resultados nesse
intervalo. O resultado obtido deve ser similar ao da Figura 3.26.

Figura 3.25 – O botão “Calcular Volume”.

Figura 3.26 – Comportamento do volume molar com a pressão para o gás metano utilizando a
equação do virial.
93

CAPÍTULO 4 VISUAL BASIC FOR APPLICATIONS (VBA)

Este capítulo tem por objetivo apresentar noções sobre a linguagem de


programação VBA, que é uma poderosa ferramenta com a qual o usuário pode
desenvolver programas com graus de complexidade variados (p.ex.: códigos para
formatar células de uma planilha; códigos pra códigos para resolver sistemas com dezenas
de equações diferenciais, etc.). Embora esteja presente em todos os softwares do pacote
Office, o escopo deste curso é tratar somente da linguagem VBA aplicada ao Excel. Para
compreender plenamente os conceitos que serão aqui presentados, é desejável que o leitor
esteja familiarizado com os conceitos aprendidos nos capítulos anteriores.

4.1 CONCEITOS PRELIMINARES

Para que o usuário possa começar a escrever códigos em VBA, é necessário


acessar o ambiente de programação do Excel. Isto pode ser feito de duas formas: clicando
no botão “Visual Basic”, presente na aba “Desenvolvedor” (Figura 4.1) ou pressionando
as teclas Alt + F11.

Figura 4.1 - Botão para acessar o ambiente de programação

Feito isto, o usuário terá aberto o ambiente VBE (do inglês Visual Basic Editor),
ilustrado a seguir:

Figura 4.2 - O ambiente de desenvolvimento (VBE)


94

Conforme apresentado na figura anterior, o ambiente para desenvolvimento de


códigos pode ser subdividido em três seções menores:

 Barra de Ferramentas: contém a maior parte das ferramentas do VBE, dentre as quais
merece atenção o item “Inserir”. Utilizando-o, três objetos podem ser inseridos:
“Módulo”, “Módulo de Classe” e “UserForm” (ou formulário). O primeiro, que será
frequentemente abordado neste capítulo, é o ambiente padrão para escrita de códigos
em VBA; o segundo é o ambiente para criação de classes (tipos abstratos a partir dos
quais podem ser criados objetos) e que, para os propósitos deste curso, não será
explorado; o último permite a criação de interfaces gráficas que facilitam a
comunicação entre o código e o usuário. É extremamente importante saber trabalhar
com formulários, sobretudo se o usuário deseja comercializar suas planilhas
eletrônicas. No entanto, dada a restrição de tempo, tais objetos não serão comentados
neste curso.
 Janela de Propriedades: contém as propriedades do objeto selecionado. No caso da
figura anterior, embora esteja pouco visível, o objeto selecionado é a planilha Plan1.
Utilizando essa janela, pode-se alterar as propriedades de interesse do objeto (no caso
da planilha, o nome, a área de rolagem, etc.). Esta janela pode ser bastante útil na
formatação de formulários, os quais geralmente contêm muitos objetos relacionados
(quadros, botões, caixas de listagem, etc.)

Atenção! Conforme ilustrado na Figura 4.3, a identificação de cada planilha no ambiente


VBE é feita com base em dois nomes: “Plan1” (no caso, esse nome é gerado
automaticamente pelo VBE e deve ser utilizado para referenciar a planilha nas linhas de
código) e “Dados de Vendas” (nome escolhido para identificar a planilha no ambiente
padrão do Excel).

Figura 4.3- Identificação do objeto planilha eletrônica.

Sempre que for necessário fazer referência a planilha “Dados de Vendas” (e seus objetos)
durante a escrita de um código, deve-se utilizar a identificação gerada pelo VBE: “Plan1”.
Para alterar esse nome, deve-se modifica-lo na janela de propriedades. No caso em
questão, optou-se por “Dados_de_Vendas” (os nomes de objetos do ambiente VBE não
podem ser espaçados nem conter caracteres especiais; somente letras e números).
95

Figura 4.4 - Modificando o nome de uma planilha na janela propriedades.

 Project Explorer: nele são apresentadas todas as planilhas presentes na pasta de


trabalho, bem como os “módulos”, “módulos de classe” e “formulários” inseridos no
ambiente de programação. Neste curso, os códigos a serem desenvolvidos serão
escritos nos módulos (ou módulos-padrão).

4.2 ACESSANDO A JANELA DE CÓDIGO

Para acessar a “Janela de Código”, o usuário deve pressionar o botão “Inserir” e,


em seguida, acessar o item “Módulo”. Desta forma, surgirá o o ambiente para escrita dos
códigos referentes aos módulos.

Figura 4.5 - Janela de código de um módulo.

Atenção! Cada objeto (e seus subitens) presente na seção “Project Explorer” do VBE
possui sua própria “Janela de Código”. Nessas janelas, códigos inerentes a cada um desses
podem ser escritos. No entanto, como trabalharemos com códigos escritos somente em
“módulos-padrão”, os códigos serão escritos na “Janela de Código” da Figura 4.5.
No capítulo anterior, foram introduzidas as Macros e seu processo de gravação
para execução de tarefas simples. Qualquer macro que tenha sido gravada possui um
código a ela inerente. Portanto, qualquer Macro pode ser desenvolvida no ambiente VBE:
para tal, o usuário deve escrever linhas de código que executem todo o procedimento
desejado na janela de código de um “módulo” (isto porque o funcionamento padrão do
96

Excel requer que códigos das macros sejam escritos em um “módulo”). Quando as
Macros são criadas para a realização de tarefas simples (isto é, que não sejam a realização
de cálculos – p.ex.: formatação visual de células), é mais vantajoso utilizar o ambiente de
gravação com o qual o leitor já está familiarizado. A título de ilustração, a Figura 4.6
apresenta o código de uma macro gravada para formatar o texto presente nas células
(alterar a fonte para Garamond, tamanho 12, cor preta).

Figura 4.6 - Código de macro para formatação de texto

Pode-se observar na figura acima que, para criar uma macro que realiza apenas
três comandos de formatação de texto, foram necessárias 29 linhas de comando. Lembre-
se que utilizando o ambiente de gravação, a mesma macro poderia ser ter criada em
poucos segundos.

4.3 VARIÁVEIS

Em programação, variáveis são objetos (posição frequentemente alocada no


espaço da memória) capazes de armazenar um dado (valor, expressão) em um programa.
97

4.3.1 Pontuais, Vetores e Matrizes

Em VBA, há basicamente duas formas de trabalhar com variáveis: pontualmente


ou matricialmente. Em síntese, uma variável é dita pontual quando ela armazena apenas
um valor (p.ex.: o resultado de um cálculo, um nome, uma data, etc.). No entanto, muitas
vezes, é comum a necessidade de manipular um conjunto de variáveis do mesmo tipo
(p.ex.: as médias de 50 alunos, os valores de massa especifica de um líquido a 100
diferentes temperaturas, o preço de um produto cotado por 100 diferentes fornecedores,
etc.). Para esses casos, de forma a facilitar a manipulação dos dados, é sugerido utilizar
matrizes unidimensionais (vetores) e multidimensionais.
Para facilitar o entendimento dos conceitos anteriores, suponha que seja
necessário armazenar (em código) a média final de um único aluno (“Aluno 1”). Para tal,
pode ser utilizada somente uma variável pontual, conforme ilustrado na Figura 4.7.

Figura 4.7 - exemplo de Variável pontual

Se, no entanto, fosse necessário armazenar (em código) a média de 15 diferentes


alunos de uma mesma turma, o usuário poderia prosseguir de duas diferentes formas:
utilizar 15 diferentes variáveis pontuais, cada uma contendo a média de um referido
aluno ou utilizar um vetor contendo 15 posições (em cada uma das quais pode ser
armazenada a média de um aluno). Certamente, a primeira opção seria mais trabalhosa,
uma vez que o usuário teria que declarar separadamente cada uma das variáveis e,
posteriormente, atribuir a cada uma delas os valores da média final de cada aluno (isto
requereria - pelo menos - 16 linhas de código). Utilizando o vetor, o usuário teria que
escrever três linhas de código para ler as médias de cada aluno e armazená-las em cada
uma das posições separadas. A Figura 4.8 ilustra o uso do vetor para o caso em questão:

Figura 4.8 - Exemplo de vetor.

Atenção! Um vetor também pode ser entendido como sendo composto de múltiplas linhas
e apenas uma coluna.
Finalmente, se fosse necessário armazenar (em código) a nota de 45 diferentes
alunos pertencentes a 3 diferentes turmas (cada turma contendo 15 alunos), o usuário
poderia prosseguir de três diferentes formas: utilizar 45 diferentes variáveis pontuais,
cada uma contendo a média de um referido aluno; utilizar três diferentes vetores, cada
98

um contendo 15 posições ou utilizar uma matriz 3x15 (sendo as linhas utilizadas para
identificar as turmas e as colunas para identificar os alunos). Certamente, a última opção
seria mais simples, isto é, requereria a menor quantidade de linhas de código. A Figura
4.9 ilustra o uso da matriz para o caso em questão:

Figura 4.9 - Exemplo de matriz multidimensional


Atenção! O observador atento perceberá que uma variável pontual pode ser entendida
como uma matriz 1x1, enquanto um vetor pode ser entendido como uma matriz 1xn ou
nx1(n = número de linhas ou de colunas). Uma analogia simples pode auxiliar no
entendimento das categorias de variáveis anteriormente apresentadas: uma variável
pontual exerce (em código) o papel que uma célula exerce na planilha eletrônica; um
vetor pode ser comparado a uma linha (contendo múltiplas colunas) ou a uma coluna
(contendo múltiplas linhas) da planilha; finalmente, uma matriz é análoga a uma
planilha eletrônica em si (com suas múltiplas linhas e colunas).

4.3.2 Tipos

Os tipos de variáveis reconhecidos pelo VBA são apresentados na Tabela 4.1.

Tabela 4.1- Tipos de variável (VBA)


Espaço Dados
Tipo Intervalo
ocupado armazenados
Integer 2 bytes Números inteiros -32768 a 32767
-2.147.483.648 a
Long 4 bytes Números inteiros
2.147.483.647
-3,402823E-38 a
Single 4 bytes Números reais
3,402823E38
-1,797693135E-308 a
Double 8 bytes Números reais
1,797693135E-308
Boolean 2 bytes Valores lógicos True ou False
String 1 byte/caractere Texto 0 a 65.500 caracteres
R$ -9.223.372.036.854,5808
Currency 8 bytes Moeda
a 9.223.372.036.854,5808
Date 8 bytes Data 01/01/100 a 31/12/9999
Dados para
Object 4 bytes referenciar os -
objetos do Excel*
16 bytes + 1
Variant Todos os anteriores -
byte/caractere
99

Espaço Dados
Tipo Intervalo
ocupado armazenados
*p.ex.: Pastas de trabalho, planilhas eletrônica, intervalo de células, etc.

Obviamente, o usuário não precisa memorizar todos os intervalos relativos a cada


tipo de variável. Em caso de dúvida, deve-se consultar a Tabela 4.1. É muito importante
salientar que, embora o tipo “variant” possa ser utilizado para representar qualquer um
dos tipos de dado acima, sua utilização frequentemente torna a execução do código mais
lenta, pelo fato de esse tipo de dado ocupar um espaço maior na memória do computador.

4.3.3 Declaração

As variáveis devem ser identificadas por uma cadeia caracteres que pode conter
letras, números e alguns símbolos (_, $, %, #, @, &, !). O nome atribuído a uma variável
deve ser autoexplicativo, de forma que alguém que não tenha escrito o código possa
compreendê-lo com facilidade. Ressalta-se que o VBA não faz distinção entre letras
maiúsculas e minúsculas (isto é, a forma padrão da linguagem é case insensitive), o que
significa que uma variável declarada como “Nota” pode ser referenciada no código pelos
nomes “nOTa”, “NOTA”, “nota”, “nOTA”, etc.
Em VBA, existem basicamente três diferentes formas de declaração de variáveis.
A escolha de cada uma está relacionada ao domínio de aplicação desejável para a
variável. Em síntese, há três diferentes tipos de domínios de aplicação para uma variável:
 Domínio do Procedimento: “Procedimento” denota funções e subrotinas, as quais
serão apresentadas em seções subsequentes. Quando uma variável deve ser
reconhecida somente no procedimento em que ela é utilizada, é comum denomina-la
de variável local ao procedimento. Nesses casos, pode-se entender que as variáveis
são criadas no início da execução do procedimento e automaticamente destruídas
quando este termina.
 Domínio do Módulo: As variáveis declaradas segundo a sintaxe de “domínio do
módulo” podem ser utilizadas em qualquer procedimento que tenha sido escrito
naquele módulo mas não pode ser utilizada em outro módulo. As variáveis declaradas
segundo esta sintaxe são denominadas de variáveis locais ao módulo ou globais aos
procedimentos.
 Domínio do Projeto: As variáveis declaradas seguindo esta sintaxe são comumente
denominadas variáveis globais. Como o próprio nome sugere, estas variáveis podem
ser utilizadas em diferentes procedimentos de diferentes módulos (mesmo que não
tenham sido declaradas internamente aos módulos ou procedimentos). Em outras
palavras, são conhecidas em todos os objetos presentes no Projeto do VBA.
100

4.3.4 Variáveis Pontuais

LOCAIS AO PROCEDIMENTO

Para a declaração de uma variável pontual local ao procedimento, pode-se


utilizar a seguinte sintaxe:

Dim Nome_Variavel As Tipo

Em “Nome_Variavel”, o usuário deve introduzir o nome desejado para a variável,


obedecendo as regras expostas no primeiro parágrafo da Seção 2.3; em “Tipo”, o usuário
deve selecionar um dos tipos de variável apresentados na Tabela 3.1. Pode-se declarar,
em uma mesma linha, múltiplas variáveis pontuais locais ao procedimento, sejam elas
do mesmo tipo ou não. Para variáveis do mesmo tipo, utiliza-se a seguinte sintaxe:

Dim Nome_Variavel1, Nome_Variavel2, Nome_Variavel3 As Tipo


Para variáveis de diferentes tipos, a sintaxe a ser utilizada é:

Dim Nome_Variavel1 As Tipo1, Nome_Variavel2 As Tipo2

Atenção! Quando for desejado que a variável mantenha seu valor constante
durante qualquer chamada do procedimento em que ela foi declarada, deve-se utilizar o
prefixo de declaração “Static” em substituição a “Dim”. Neste caso, também poderiam
ser utilizado um tipo especial de variáveis: as constantes, cujos valores permanecem
inalterados durante a execução dos procedimentos. Para constantes locais ao
procedimento, a seguinte sintaxe deve ser obedecida:

Const Nome_Const As Tipo = Valor*

No caso de constantes para armazenamento de Datas ou Strings, deve-se utilizar


a seguinte sintaxe:

Const Nome_Const As Tipo = "Valor"*


101

*Nesta subseção, a palavra “valor” está sendo utilizada denotar algum tipo de
dado da Tabela 3.1. Isto está sendo ressaltado por que, como veremos, as constantes,
diferentemente dos outros tipos de variáveis, não podem receber expressões matemáticas.

LOCAIS AO MÓDULO

Para a declaração de uma variável pontual local ao módulo, pode-se utilizar a


seguinte sintaxe:

Private Nome_Variavel1 As Tipo

De forma análoga ao que foi apresentado anteriormente, pode-se declarar, em uma


mesma linha, múltiplas variáveis pontuais locais ao módulo, sejam elas do mesmo tipo
ou não. A sintaxe obedece o que já foi exposto, sendo a única diferença o “prefixo de
declaração” a ser utilizado: neste caso, o “Private”. Para a declaração de constantes locais
ao módulo, o prefixo “Private” deve preceder o prefixo “Const”. O restante da sintaxe de
declaração deve obedecer o que já foi apresentado.

Atenção! Pode-se também utilizar o “prefixo” “Dim” para declarar variáveis pontuais
locais ao módulo. No entanto, é importante ressaltar que essas devem ser declaradas
externamente a qualquer procedimento!

Atenção! Suponha que uma variável pontual (tipo inteiro) denotada por X é declarada
como local a um módulo e a ela é atribuído o valor X = 10. Posteriormente, outra variável
pontual (também identificada como X) é declarada localmente em um procedimento
(“Procedimento 1”) e nele é atribuído que X = 5. Se, após a execução do Procedimento 1,
for executado um outro procedimento (“Procedimento 2”) cuja função é calcular o valor
de X + 5 e imprimir o resultado em uma célula, qual valor será impresso? A resposta é: X
+ 5 = 15! Isto ocorre porque o “Procedimento 1” só modifica a variável X local (nele
declarada), enquanto o “Procedimento 2” apenas reconhece a variável X global a qualquer
procedimento presente naquele módulo. Para evitar confusões, deve-se evitar a
declaração de variáveis locais e globais contendo o mesmo nome.

GLOBAIS

Para a declaração de uma variável pontual global, pode-se utilizar a seguinte


sintaxe:
102

Public Nome_Variavel1 As Tipo

De forma análoga ao que foi apresentado anteriormente, pode-se declarar, em


uma mesma linha, múltiplas variáveis pontuais globais, sejam elas do mesmo tipo ou
não. A sintaxe obedece o que já foi exposto, sendo a única diferença o prefixo de
declaração a ser utilizado: neste caso, o “Public”. Para a declaração de constantes globais,
o prefixo “Public” deve preceder o prefixo “Const”. O restante da sintaxe de declaração
deve obedecer o que já foi apresentado.

Atenção! Quando uma determinada instrução de código faz alusão a uma variável que
não tenha sido declarada anteriormente, o VBA a declara de forma implícita como sendo
do tipo Variant. Por motivos de otimização de velocidade de execução do código, deve-
se sempre declarar as variáveis (com seus tipos específicos) antes de referenciá-las. Para
impedir que o VBA faça declarações implícitas, o usuário pode inserir a instrução Option
Explicit em módulo (anteriormente a todos os procedimentos).

4.3.5 Vetores

LOCAIS AO PROCEDIMENTO

Para a declaração de uma vetor local ao procedimento, pode-se utilizar a


seguinte sintaxe:

Dim Nome_Vetor(NumeroPosições) as Tipo

Caso o usuário não deseje especificar a dimensão do vetor durante a declaração, a


seguinte sintaxe pode ser utilizada:

Dim Nome_Vetor() as Tipo

Atenção! Caso a sintaxe acima seja utilizada, o usuário necessariamente deverá


especificar a dimensão do vetor declarado em uma linha de código (anterior à sua
chamada), utilizando a seguinte sintaxe: ReDim Nome_Vetor(Numero_Posições). Esse
comando, como o nome prefixo sugere, pode ser utilizado para redimensionar vetores.
De forma análoga ao que foi apresentado anteriormente, pode-se declarar, em uma
mesma linha, vários vetores locais ao procedimento, sejam eles do mesmo tipo ou não
103

LOCAIS AO MÓDULO

Para a declaração de uma vetor local ao módulo, pode-se utilizar a lógica sintática
anteriormente apresentada: pode-se utilizar os prefixos de declaração “Dim” ou “Private”.
Deve-se atentar somente para o fato de que os vetores de domínio local ao módulo devem
ser declarados externamente a qualquer procedimento.

GLOBAL

Para a declaração de uma vetor global, pode-se utilizar a lógica sintática


anteriormente apresentada, com atenção para o prefixo de declaração a ser utilizado: neste
caso, o “Public”.

4.3.6 Matrizes

LOCAIS AO PROCEDIMENTO

Para a declaração de uma matriz local ao procedimento, pode-se utilizar a


seguinte sintaxe:

Dim Nome_Matriz(Quant_Linhas, Quant_Colunas) as Tipo

Caso o usuário não deseje especificar a dimensão da matriz durante a declaração,


a seguinte sintaxe pode ser utilizada:

Dim Nome_Matriz() as Tipo

Atenção! Como já foi exposto no caso dos vetores, caso a sintaxe acima seja utilizada, o
usuário necessariamente deverá especificar a dimensão da matriz declarada em uma linha
de código (anterior à sua chamada), utilizando a seguinte sintaxe: ReDim Nome_Matriz
(Quant_Linhas, Quant_Colunas). Esse comando, como o nome do prefixo sugere, pode
também ser utilizado para redimensionar matrizes.
104

LOCAIS AO MÓDULO

Para a declaração de uma matriz local ao módulo, deve-se utilizar a lógica


sintática anteriormente apresentada: pode-se utilizar os prefixos de declaração “Dim” ou
“Private”. Deve-se atentar somente para o fato de que as matrizes de domínio local ao
módulo devem ser declaradas externamente a qualquer procedimento.

GLOBAL

Para a declaração de uma matriz global, pode-se utilizar a lógica sintática


anteriormente apresentada, com atenção para o “prefixo de declaração” a ser utilizado:
neste caso, o “Public”.

Atenção! Embora tenha sido apresentadas as sintaxes de declaração de vetores e matrizes


nos domínios local (ao procedimento e ao módulo) e global, esses objetos são geralmente
declarados como global.

4.4 ATRIBUIÇÃO DE VALORES

4.4.1 Variáveis Pontuais

Para atribuir valores* a variáveis pontuais, deve-se utilizar a seguinte sintaxe:

Nome_Variavel = Valor*

No caso de variáveis pontuais do tipo “date” ou “string”, a sintaxe se torna:

Nome_Variavel = “Valor” *

*Nesta e nas seguintes subseções, a palavra “valor” pode denotar um tipo de dado
(Tabela 3.1) ou uma fórmula matemática. Em outras palavras, uma variável numérica
(não-constante) pode desempenhar o papel de variável dependente em uma equação
(p.ex.: Nome_Variavel = ax² + bx + c; onde x denota uma variável e a,b e c são
constantes).
Atenção! Pode-se atribuir às variáveis declaradas em código valores que estejam
impressos nas células das planilhas eletrônicas. Conforme já foi mencionado no Capítulo
105

1, nestes casos, é necessário que o tipo de conteúdo armazenado na célula seja compatível
com o tipo de dado (estipulado em código) que a variável pode armazenar (p.ex.: uma
variável do tipo “integer” não deve ser utilizada para armazenar o dado de uma célula
com conteúdo do tipo “Texto”)*. Para tal atribuição de valor, a seguinte sintaxe pode ser
utilizada:

Nome_Variavel = NomePlanilha.Cells(linha, coluna)

Para o exemplo hipotético em que se deseja atribuir à variável X o valor numérico


armazenado na célula “A1” da planilha “Relatorio_Vendas”, pode-se utilizar a seguinte
sintaxe: X = Relatorio_Vendas.Cells(1,1). É importante ressaltar que, mesmo que o valor
presente na célula da planilha não seja numérico, essa sintaxe deve ser obedecida!

*De forma a contornar esse tipo de problema, um valor do tipo texto existente em uma
célula qualquer pode ser convertido para um tipo numérico utilizando um comando
específico. Alguns exemplos desses comandos incluem: CInt (conversão para tipo
“integer”), CLng (conversão para tipo “long”), CSng (conversão para tipo “single”), CDbl
(conversão para tipo “double”), etc. A sintaxe de utilização do comando CInt para o caso
em que a célula A1 da planilha Relatorio_Vendas contém um dado não numérico (e este
valor deve ser armazenado em um variável inteira X) seria: X =
CInt(Relatrio_Vendas.Cells(1,1)). É importante ressaltar que essa conversão é feita
somente para realizar a atribuição de valor a uma variável do código. Isto é, o tipo de
conteúdo da célula não se altera! Consulte a Tabela 3.2 para outros exemplos de
comandos desse tipo.

4.4.2 Vetores

Normalmente, a atribuição de valores a elementos de um vetor é realizada


utilizando estruturas de laço (as quais serão apresentadas posteriormente neste capítulo).
Para atribuir valor a uma posição específica do vetor, pode-se utilizar a seguinte sintaxe:

Nome_Vetor(Numero_Posicao) = Valor

No caso de vetores contendo dados do tipo “date” ou “string”, a sintaxe se torna:

Nome_Vetor(Numero_Posicao) = “Valor”
106

4.4.3 Matrizes

Similarmente aos vetores, a atribuição de valores a elementos de uma matriz é


normalmente realizada utilizando estruturas de laço, as quais serão apresentadas
posteriormente neste capítulo. Para atribuir valor a um elemento específico da matriz,
pode-se utilizar a seguinte sintaxe:

Nome_Matriz (Numero_Linha, Numero_Coluna) = Valor

No caso de matrizes contendo dados do tipo “date” ou “string”, a sintaxe se


torna:

Nome_Matriz (Numero_Linha, Numero_Coluna) = "Valor"

Atenção! Quando um vetor ou uma matriz são declarados, o Excel automaticamente


determina que os valores de todos os seus campos são iguais a 0. Portanto, é fundamental
atribuir os valores às posições dos vetores e matrizes antes de utilizá-los, de forma a evitar
possíveis erros matemáticos durante a execução do código (p.ex.: divisão por 0).

4.5 PROCEDIMENTOS

Durante a escrita de um código, o usuário necessita declarar uma série de


procedimentos, os quais contêm instruções para a execução das tarefas desejadas. Em
VBA, há dois tipos de procedimentos, os quais serão abordados a seguir.

4.5.1 Subrotinas

Conforme foi visto, toda Macro que tenha sido criada no ambiente de gravação
possui uma respectiva codificação em VBA. Os comandos de código contendo as
instruções para execução das tarefas executadas pela Macro são armazenados em
subrotinas. Uma subrotina, portanto, pode ser entendida como um procedimento cuja
função é desempenhar um conjunto de tarefas estipuladas pelo usuário, as quais podem
ter graus de complexidade variados (p.ex.: formatação visual de células, realização de
cálculos matemáticos, etc.). As característica principal das subrotinas é que elas não tem
necessariamente que retornar um valor, embora possam realizar diversas operações
matemáticas e atribuir os resultados às variáveis do código ou imprimi-los em
células.
107

A seguinte sintaxe deve ser utilizada na declaração de subrotinas:

Sub Nome_Subrotina()
Declaração de variáveis (locais ao procedimento)

Comandos relacionados

End Sub

ATIVIDADE DIDÁTICA
Escreva uma subrotina para:
1) Ler dois números reais presentes nas células A1 e B1 de uma planilha (nome de
código: Plan1).
2) Calcular o logaritmo (na base 5) do primeiro número e a raiz quíntupla do cubo
do segundo número.
3) Calcular o produto dos resultados das operações anteriores
4) Imprimir o resultado das três operações nas efetuadas nas células A2, B2 e C2

RESOLUÇÃO
Para resolver este problema, foi construída a seguinte subrotina:

Figura 4.10 - Exemplo de subrotina.


108

Perceba que, logo após a primeira linha de código (e durante todo o código), foram
introduzidos comentários (escritos na cor verde). Conforme ilustrado, qualquer instrução
ou frase precedida pela aspa simples (‘) será identificado como comentário. É importante
introduzir comentários ao longo do código: esses facilitam a compreensão do código
(sobretudo no caso de esse conter milhares de linhas) para usuários que não o tenham
escrito. O leitor pode observar que os comandos da subrotina propriamente dito se iniciam
com a “DECLARAÇÃO DE VARIÁVEIS”: neste caso, são declaradas 5 variáveis do
tipo “double”. Em seguida, os valores de entrada para a realização das operações
matemáticas são lidos (seguindo a sintaxe anteriormente explicada) a partir das células
A1 e B1 da planilha. Posteriormente, o valor de Z é calculado como sendo o logaritmo de
X na base 5. Atente para a sintaxe utilizada: “Z = WorksheetFunction.Log(X,5)”. O leitor
é capaz de explicar por que não foi utilizado somente “Z = LOG(X,5)”, já que no Capítulo
1 foi introduzida a função “LOG” com essa sintaxe? A razão para tal reside no fato que a
função introduzida no Capítulo 1 não está disponível para ser utilizada no ambiente
VBE; isto é, ela só pode ser utilizada no ambiente da planilha eletrônica! A utilização
da segunda sintaxe geraria, portanto, erro de compilação do código. Com a introdução do
“prefixo de função” “Worksheet.Function”, a função da planilha eletrônica (do inglês
worksheet) torna-se disponível para ser utilizada no ambiente VBE.
Em seguida, os valores de Y e K são calculados conforme as operações
matemáticas desejadas no enunciado e, finalmente, os valores são impressos nas células
da planilha. Para executar a subrotina desenvolvida, o leitor pode prosseguir de diferentes
formas: acessar o item “Executar” da Barra de Ferramentas (Figura 4.11); pressionar a
tecla “F5”, ou acessar o botão “Macro” presente na aba “Desenvolvedor” e selecionar a
sub-rotina desejada na janela “Macro” (Figura 4.12).

Figura 4.11 - Executando uma subrotina


109

Figura 4.12 - Executando uma subrotina.

Para os números A1 = 3,500 e B1 = 5,500, os seguintes resultados foram obtidos:

Figura 4.13 – Resultados.

4.5.2 Funções

No Capítulo 1, foram apresentadas diversas funções disponíveis no ambiente das


planilhas eletrônicas: matemáticas, lógicas, estatísticas, matriciais e outras. Conforme
já foi observado nas diversas atividades didáticas daquele capítulo, o usuário deve
selecionar parâmetros de entrada a serem utilizados no cálculo a ser efetuado pela função,
por exemplo: a função “MÉDIA (A1; A2)” pode ser utilizada para calcular a média entre
os valores das células A1 e A2 da planilha eletrônica selecionada. Perceba, portanto, que
uma função necessariamente recebe parâmetro de entrada (no referido caso, o
conteúdo das células “A1” e “A2”) e, com esses valores, executa a operação desejada
para retornar um resultado ou parâmetro de saída (no referido caso, a média
aritmética). Portanto, perceba que a diferença entre as subrotinas e as funções é que
aquelas não recebem parâmetros de entrada e não necessariamente retornam
valores, embora elas podem realizar uma série de cálculos e armazenar os resultados em
variáveis do código (ou imprimi-los em uma planilha desejada, conforme exemplificado
110

na atividade didática anterior); estas, recebem um ou mais parâmetros de entrada e


retornam um valor.
A seguinte sintaxe pode ser utilizada na declaração de funções:

Sub Nome_Função(byVal Param_1 as Tipo1, ..., byVal Param_N as TipoN) as Tipo


Declaração de variáveis (locais ao procedimento)

Comandos relacionados

Nome_Função = Valor/Expressão

End Sub

O parâmetro de saída retornado pela função é geralmente denotado pelo seu nome
(“Nome_Função”), devendo o tipo retornado ser especificado pelo usuário (“Tipo”). Caso
os tipos dos parâmetros de entrada e de saída não sejam estipulados na declaração da
função, o VBA automaticamente os classificará como “variants” o que, conforme já foi
mencionado, pode levar a um maior tempo de execução do código.

Atenção! O prefixo “byVal” garante que a função não modifique os parâmetros


provenientes de um procedimento que são passados a ela para a realização das operações,
isto é, quando uma função (contendo parâmetros de entrada declaradas como “byVal”) é
chamada, o Excel automaticamente cria “cópias” dos parâmetros de entrada e essas
“cópias” são utilizadas para a realização das operações matemáticas. Essa sintaxe é
normalmente utilizada quando a função armazena o resultado de saída em uma variável
que não seja uma variável de entrada (as quais podem ser modificadas internamente
na função; no entanto, os valores modificados não serão repassados para o procedimento
de chamada). Nesse caso, diz-se, portanto, que a passagem de parâmetro entre a função e
o procedimento (em que ela foi chamada) foi feita por valor.
Caso não fosse utilizado o prefixo “byVal”, o Excel automaticamente entenderia
que a passagem dos parâmetros da função para o procedimento seria feita por referência
(“byRef”); ou seja, caso a função modifique internamente os valores das variáveis de
entrada, esses serão repassados para o procedimento de chamada. Para melhor entender
esses conceitos, analisemos a seguinte subrotina “PASSAGEM_POR_VALOR”, a qual
chama a função “CALC_DOBRO”.
111

Figura 4.14 – Exemplo de Passagem de parâmetro por valor.

Uma vez que foi utilizada a passagem do parâmetro “Y” por valor, embora seu
valor tenha sido modificado internamente na função “CALC_DOBRO”, o valor impresso
na célula “A10” da planilha (Plan1) foi Y = 3. Em contrapartida, se na declaração da
função “CALC_DOBRO” tivesse sido utilizado o prefixo byRef para o parâmetro
“PARAM_1”, o valor impresso da variável “Y” seria Y = 6.

4.5.2.1 Algumas funções úteis do VBA

O VBA disponibiliza uma série de funções que podem ser úteis durante a escrita
de um código. Algumas dessas funções já foram comentadas; outras serão comentadas e
outras não serão comentadas neste texto. A Tabela 3.2 apresenta um sumário dessas
funções e suas sintaxes e ações.

Tabela 4.2 - Algumas funções úteis do VBA.


Função Sintaxe Comentários
Abs Abs(Var) Valor absoluto de um número
Len Len(Var) Retorna o tamanho de uma variável do tipo "string"
Str Str(Var) Retorna a representação "string" de um número
CInt Cint(Var) Converte uma variável para o tipo "integer"
CLng CLng(Var) Converte uma variável para o tipo "long"
CSng CSng(Var) Converte uma variável para o tipo "single"
CDbl CDbl(Var) Converte uma variável para o tipo "double"
CBool CBool(Var) Converte uma variável para o tipo "boolean"
CDate CDate(Var) Converte uma variável para o tipo inteiro "data"
CStr CStr(Var) Converte uma variável para o tipo inteiro "string"
Exit Do Exit Do Interrompe a execução de um laço "Do...Loop"
Exit For Exit For Interrompe a execução de um laço "For...Next"
112

Exit Function Exit Function Interrompe a execução de uma função


Exit Sub Exit Sub Interrompe a execução de uma subrotina
Verifica se uma variável é um vetor/matriz e retorna TRUE
IsArray IsArray(Var)
ou FALSE
Verifica se a uma variável foi atribuido valor e retorna FALSE
IsEmpty IsEmpty(Var)
(não-vazia) ou TRUE (vazia)
Verifica se uma variável é numérica e retorna TRUE ou
IsNumeric IsNumeric(Var)
FALSE

4.5.3 Chamadas de procedimentos

Frequentemente, especialmente em códigos muito extensos, é necessário


convocar os procedimentos em algum ponto específico do código. Quando o usuário
desejar chamar uma subrotina, a seguinte sintaxe deve ser utilizada: “Call
Nome_Subrotina”. Para a chamada de funções nas quais o usuário deve normalmente
utilizar sintaxe: “Nome_Variável = Nome_Função (Param_1, Param_2,...,Param_N)”. O
leitor atento perceberá que essa sintaxe sugere que, geralmente, uma função é chamada
pra calcular um valor e atribui-lo a uma variável do procedimento que a convocou
(“Nome_Variável”). Para melhor entender esses conceitos, realize a seguinte atividade
didática.

ATIVIDADE DIDÁTICA
Escreva um código contendo os seguintes procedimentos:
1) Uma subrotina para ler os parâmetros de uma equação do 2º grau
2) Uma função para calcular o valor de Δ (BHASKARA)
3) Uma subrotina que calcule as raízes reais da equação do segundo grau (esta subrotina
deve chamar os procedimentos criados nas etapas 1) e 2) e as imprima na planilha
eletrônica
RESOLUÇÃO

Para resolver este problema, foi utilizado o seguinte código:


113

Figura 4.15 - Código para calcular raízes reais (eq. bhaskara).

Perceba que as variáveis locais ao módulo foram declaradas anteriormente à


criação dos procedimentos que as utilizaram. Para melhor entender o funcionamento deste
código, devemos primeiro analisar a subrotina “CALC_RAIZES”, uma vez que ela
convoca os outros procedimentos criados. Conforme ilustrado, foi criada uma variável
local (‘DELTA’) do tipo “double”; esta será utilizada para receber o referido parâmetro
da equação de Bhaskara. Note que não houve a necessidade de declarar essa variável
como global, já que ela não foi utilizada internamente em nenhum dos outros
procedimentos. Em seguida, a subrotina “LER_PARAM” é convocada. Conforme
ilustrado, essa subrotina foi criada para realizar a leitura dos parâmetros da equação a
partir de valores digitados nas células da planilha (Plan1) e atribui-los às variáveis
(globais ao módulo) A, B e C. Em seguida, à variável “DELTA” é atribuído o valor
retornado pela função “CALC_DELTA”, que utiliza os parâmetros A, B e C lidos
anteriormente. Perceba que foi utilizada a passagem de parâmetros por valor entre os
procedimentos. Finalmente, as raízes reais X1 e X2 são calculadas segundo a fórmula de
Bhaskara e seus valores impressos nas células A4 e B4 da planilha (Plan1). O resultado
da execução da Subrotina CALC_RAIZES* para a equação “x² + 3x + 4” é ilustrado na
Figura 4.16:
114

Figura 4.16 - Resultado final.

*como a subrotina “LER_PARAM” é chamada internamente na subrotina


“CALC_RAIZES”, não é necessário executá-la para obter as raízes da equação em
questão. No entanto, se aquela subrotina não fosse chamada nesta, o código somente
funcionaria se o usuário primeiro executasse “LER_PARAM” e depois
“CALC_RAIZES”

Atenção! Uma vez que uma função é criada em código, o usuário pode utiliza-la no
ambiente da planilha eletrônica. Conforme ilustrado na Figura 4.17, a função
“CALC_DELTA” do exemplo anterior foi utilizada para calcular o valor Δ
(BHASKARA), conforme ilustrado na Figura 4.17.

Figura 4.17- Utilização de função (vba) no ambiente da planilha

4.6 ESTRUTURAS DE DECISÃO

Perceba que o código desenvolvido anteriormente só funcionará caso o valor do


parâmetro “DELTA” seja maior ou igual a zero; caso ele seja negativo, a equação não
apresentará raízes reais e o código não será compilado. Para tornar o código mais
completo, deveria haver comandos para a verificação do sinal do valor de “DELTA”:
caso seu valor fosse positivo, a subrotina “CALC_RAIZES” seria executada; caso fosse
negativo, essa subrotina não seria executada. Em situações como essa, o usuário pode
utilizar estruturas de decisão. No Capítulo 1, o leitor aprendeu sobre o uso das funções
lógicas “SE”, “E” e “OU”, as quais foram utilizadas para realizar processos decisórios
com valores digitados nas células (no ambiente da planilha eletrônica). Nesta seção, o
leitor aprenderá a realizar processos similares no código.
115

4.6.1 If...Then

Esta é a estrutura de decisão mais simples. Segue a sua sintaxe:

If (Condição) Then
Comandos caso a condição testada seja verdadeira

End If

Perceba que, caso a condição testada não seja obedecida, o código não
executará os comandos internos a essa estrutura de decisão e, portanto, prosseguirá para
a linha imediatamente após o comando “End If”.

4.6.2 If…Then…Else

A sintaxe desta estrutura de decisão é similar à anteriormente apresentada:

If (Condição) Then

Comandos caso a condição testada seja verdadeira

Else

Comandos caso a condição testada seja falsa

End If

Perceba que, diferentemente da sintaxe “If...Then”, nesse caso, caso a condição


testada não seja obedecida, há comandos específicos que o código deve executar. No caso
da resolução das raízes da equação de 2º grau, o código ficaria mais completo se a
subrotina “CALC_RAIZES” fosse escrita da seguinte forma:
116

Figura 4.18 - Ilustração da sintaxe if...then...else.

De acordo com a figura anterior, caso o valor calculado para a variável “DELTA”
seja negativo, a seguinte caixa de mensagem (MsgBox) é aberta: “A equação não possui
raízes reais!”.

4.6.3 If…Then…ElseIf

Esta estrutura de decisão permite com que o usuário teste múltiplas condições.
Sua sintaxe é:

If (Condição 1) Then

Comandos caso a Condição 1 seja verdadeira

ElseIf (Condição 2) Then

Comandos caso a Condição 2 seja verdadeira

End If

Perceba que, caso nenhuma das condições testadas sejam obedecidas, o código
não executará nem um comando interno à estrutura de decisão e, portanto, prosseguirá
para a linha imediatamente após o comando “End If”.
117

4.6.4 If…Then…ElseIf…Then…Else

Esta estrutura de decisão é similar à anteriormente apresentada. Sua sintaxe é:

If (Condição 1) Then

Comandos caso a Condição 1 seja verdadeira

ElseIf(Condição 2) Then

Comandos caso a Condição 2 seja verdadeira

Else

Comandos caso nenhuma condição testada seja verdadeira

End If

O usuário deve executar esta sintaxe caso seja necessário que o código execute
comandos específicos mesmo que nenhuma das condições testadas sejam obedecidas.
Para melhor ilustrar essas estruturas de decisão, prossiga para a seguinte atividade
didática.

ATIVIDADE DIDÁTICA
Nos diversos ramos industriais, é muito comum a existência de gases que não
obedecem o comportamento matemático da Equação dos Gases Ideais (PV = nRT); tais
gases são denominados reais. Para a descrição do comportamento volumétrico de gases
reais, pode-se utilizar Equações de Estado Cúbicas. Um exemplo desse tipo de equação
foi proposto por van der Waals.

𝑅𝑇 𝑎 (𝑅𝑇𝑐 )2 𝑅𝑇𝑐
𝑃 = 𝑉−𝑏 − 𝑉 2 ; Sendo 𝑎 = 0,424875 e 𝑏 = 0,125
𝑃𝑐 𝑃𝑐

Onde P denota Pressão, V denota o Volume Molar do gás, R é a constante universal dos
gases e T denota temperatura. Os parâmetros Tc e Pc denotam a temperatura e a pressão
crítica da substância (toda substância possui sua temperatura e pressão crítica; esses
parâmetros são uma espécie de identidade de um composto). De posse dos dados
118

apresentados a seguir, elabore um programa que permite ao usuário calcular a pressão


exercida por um dos três gases apresentados (à sua escolha).

Tabela 4.3 - dados gases


Dados
V [cm³/mol] 250
Temperatura [K] 450
R [cm³.bar/mol.K] 83,14
Compostos Tc [K] Pc [bar]
n-Butano 425,2 37,97
n-Pentano 469,7 33,69
n-Hexano 507,4 30,12

SOLUÇÃO
Para resolver este problema, foi utilizado o seguinte código:

Figura 4.19 – Código para calcular a pressão de um gás real.


119

Perceba que o código anterior ilustra a estrutura de decisão


“IF......THEN...ELSEIF” anteriormente mencionada. Essa estrutura é utilizada para a
tomada de decisão dos valores de propriedade críticas a serem utilizados no cálculo dos
parâmetros a e b da equação de van der Waals. Em outras palavras, esses parâmetros são
calculados utilizando as propriedades críticas do gás escolhido pelo usuário (n-butano, n-
pentano ou n-hexano). É importante lembrar que o código utilizado não é o único capaz
de resolver o problema; o leitor é desafiado a utilizar a sua criatividade e, partindo dos
conceitos aprendidos até então, escrever um código diferente mas que chegue ao mesmo
resultado. O resultado da execução da subrotina “CALC_PRESSAO_GR” para o gás “n-
hexano” pode ser visto na Figura 4.20.

Figura 4.20 - Pressão exercida pelo gás n-hexano.

4.7 COMPARAÇÃO EM CONJUNTO

Em alguns casos, pode ser desejado testar múltiplas condições em uma mesma
estrutura de decisão. Nesses, o processo será executado se mais de uma condição for
verdadeira ou se pelo menos uma das condições for verdadeira. Nessas situações, o
usuário pode utilizar as estruturas de decisão anteriormente apresentadas em conjunto
com os operadores lógicos “AND” ou “OR”, que exercem, em código, a função que os
operadores “E” e “OU” exercem no ambiente da planilha. Portanto, o operador “AND”
deve ser utilizado quando as condições (da estrutura de decisão) devem ser obedecidas
simultaneamente; o operador “OR” deve ser utilizado quando pelo menos uma
condição deve ser obedecida. Exemplos de sintaxe de estrutura de comparação em
conjunto pode ser visualizado a seguir:
120

If (Condição 1) AND (Condição 2) Then

Comandos caso as duas condições sejam verdadeiras

End If

If (Condição 1) OR (Condição 2) Then

Comandos se pelo menos uma condição é obedecida

End If

ATIVIDADE DIDÁTICA

Utilizando estruturas de comparação em conjunto, crie uma função para identificar e


imprimir o maior entre três números digitados em uma planilha.

SOLUÇÃO

Para resolver este problema, foi utilizado o seguinte código:

Figura 4.21- Função para identificar o maior de 3 valores.

A função foi criada com o nome “MAIOR_VALOR” porque o Excel já possui


uma função reservada com o nome “MAIOR”. Perceba que a função deve ser utilizada
tendo como parâmetros de entrada três diferentes células do ambiente da planilha
eletrônica.
121

4.7.1 Select Case

Em algumas situações, as decisões podem ser tomadas com base no valor ou na


faixa de valores assumida por uma variável. Nestes casos, de forma a evitar o uso
encadeado de “IFs”, pode-se utilizar a estrutura “Select Case”. Tal estrutura pode ser
utilizada para comparar diversos tipos de variável (inteira, real, string, data etc.). Suas
possíveis sintaxes são resumidas a seguir: 1 - Comparação pontual; 2 - Comparação não-
pontual e 3 – comparação por faixas do valor de X.

Select Case X

Case Valor1
Comandos se X = Valor1
Case Valor2
Comandos se X = Valor2
Case Else
Comandos se X difere dos valores anteriores
End Select

Select Case X

Case is > Valor 1


Comandos se X > Valor1
Case is < Valor 1
Comandos se X < Valor1
Case is = Valor 1
Comandos se X = Valor 1
Case Else
Comandos adicionais
End Select

Select Case X

Case Valor1 to Valor 2


Comandos se X ∈ [Valor1; Valor2]
Case Valor3 to Valor 4
122

Comandos se X ∈ [Valor3; Valor4]


Case Valor5 to Valor6
Comandos se X ∈ [Valor5; Valor6]
Case Else
Comandos se X não pertence às faixas anteriores
End Select

Atenção! Ao utilizar as estruturas anteriores para comparar o valor de uma variável do


tipo “string” ou “data”, o usuário deve incluir as aspas nos valores com os quais a variável
será comparada (p.ex.: Valor1 deve ser substituído por “Valor1” e assim sucessivamente).
Outro ponto que merece ser destacado é que as sintaxes anteriores podem ser utilizadas
em conjunto entre si, ou seja, pode-se comparar (pontualmente ou não – por faixas ou
não) o valor assumido por uma variável; tudo isso na mesma estrutura de decisão por
classe. Finalmente, deve-se ressaltar que assim como o comando Else (das estruturas de
decisão), o comando “Case Else” é opcional, devendo ser utilizado somente quando o
usuário desejar que o código executa comandos caso o valor da variável não obedeça às
condições testadas.

ATIVIDADE DIDÁTICA
Modifique código da atividade didática da Seção 4.4 utilizando a estrutura de
processo decisório por classes.

4.8 ESTRUTURAS DE LAÇO

Ao escrever um código, o usuário pode se deparar com a necessidade de executar


um processo repetidamente por um número pré-determinado de vezes. Nesses casos, é
comum a utilização de estruturas de laço (do inglês loop). Exemplos comuns de
aplicações dessas estruturas ocorrem quando o usuário realiza operações com matrizes
em código (p.ex.: atribuição de valores aos elementos, multiplicação, inversão e
transposição de matrizes, etc.). Nesta seção, serão apresentadas três diferentes formas de
execução de um laço.
123

4.8.1 For…Next

Esta é a estrutura de laço mais simples capaz de executar um loop finito. Isto é,
um laço contendo comandos que se repetirão por um número finito de vezes (o qual fica
a critério do usuário). Sua sintaxe é:

For i = 1 To Numero_Repetições Step 1

Comandos a serem executados

Next

Após o comando Step, o usuário deve inserir o passo de incremento do contador


a ser utilizado. Esse passo deve necessariamente ser um número inteiro, podendo ser
positivo ou negativo (neste caso, o valor do contador deve começar de um número maior
que o valor em que ele deverá chegar). Portanto, da sintaxe anterior, o valor do contador
“i” será incrementado com passo igual a 1. Esse comando pode ser omitido para o caso
específico em que o passo do contador a ser utilizado deve ser igual a 1 (esse é o padrão
do Excel).

ATIVIDADE DIDÁTICA

Escreva um procedimento capaz de calcular o fatorial de um número lido a partir


de uma célula. O resultado deve ser impresso na planilha.

RESOLUÇÃO
Este exemplo será utilizado para explicar o uso de uma estrutura de laço.
Conforme ilustrado na Figura 4.22, optou-se por utilizar uma subrotina (mas uma função
também poderia ter sido utilizada).
124

Figura 4.22 - Exemplp de subrotina para cálculo de fatorial.

Perceba que a variável “FATORIAL” foi declarada como “long”, de forma a


aumentar a faixa de aplicação do código. Experimente declarar essa variável como inteiro
e calcule o fatorial de 8 (resultado = 40320). Outro ponto que merece ser destacado é a
inicialização da variável “FATORIAL” com o valor da unidade. Caso essa não tivesse
sido realizada, o Excel entenderia que a variável assumiria o valor nulo, o que certamente
levaria erros no cálculo do fatorial.

ATIVIDADE DIDÁTICA6
De forma a otimizar a troca de energia térmica entre diversas correntes de um
processo químico, pode ser utilizada a tecnologia Pinch. Para que essa seja aplicada, é
necessário armazenar a temperatura das diferentes correntes em ordem decrescente.
Escreva um procedimento capaz de ler um vetor com “n” dados de temperatura de
corrente (ºC)e ordenar seus valores de forma decrescente. Os valores de temperatura
podem ser digitados admitindo que o vetor é uma matriz 1xn ou nx1 (critério do leitor)

RESOLUÇÃO
Para resolver este problema, o seguinte código foi utilizado.

1
Exemplo retirado do livro Programação Fortran para Engenharia; FERNANDES, A. N.; 1ª ed. (2003)
125

Figura 4.23 - Exemplo de Código 1 - tec. Pinch.

No código anterior, considerou-se que as temperaturas da corrente seriam


inseridas em uma coluna da planilha (vetor =matriz nx1). O código anterior, realiza a
contagem do número de registros de temperatura na coluna “A” da planilha porque o
vetor “T()” não foi dimensionado ao ser declarado (seu tamanho depende do valor da
variável “N_COR”). Portanto, utilizou-se um laço que percorre todas as linhas (com
exceção da linha 1) da coluna “A” da planilha (Plan5) e contabiliza quantas delas são não-
vazias. Perceba que o contador pode assumir o valor máximo de 1.048.575, que denota o
número máximo de linhas na planilha. Atente também para o fato de a variável “N_COR”,
que é utilizada para somar os registros, ter sido inicializada como sendo igual a 0. Se ela
não tivesse sido inicializada - para i = 1, o valor de N_COR seria: “N_COR” = 1 +
N_COR” (valor não inicializado e desconhecido) o Excel poderia atribuir a ela um valor
real aleatório que pudesse afetar o somatório em questão.
Uma vez que à variável “N_COR” foi atribuído o número de registros de correntes
da planilha, o vetor que armazena seus valores é lido diretamente das células.
Posteriormente, foram utilizados dois laços (um interno ao outro) para comparar os
valores das correntes. Perceba que o contador externo (i) terá seus valores variando entre
1 (número mínimo de correntes) e N_COR – 1, enquanto que o contador externo variará
126

entre i+1 e N_COR. Desta forma, a comparação entre os valores da corrente é feita da
seguinte forma: no primeiro passo do laço externo, compara-se a o valor de T(1) com
todos os outros valores de T (do 2º ao “N_COR-ésimo”); no passo posterior, compara-se
o valor de T(2) com todas as posições subsequentes (da 3º à “N_COR-ésima”) e assim
sucessivamente. Na lista de comandos do laço mais interno, foi utilizada uma estrutura
de decisão para comparar um par de valores de corrente: caso a corrente T(i) seja menor
que T(j), a corrente T(j) passará a ocupar a posição de T(i) no vetor e vice-versa. Os laços
se repetem até que antepenúltimo valor de temperatura seja comparado com o penúltimo.
Não seria necessário comparar o penúltimo e o último porque, de acordo com a estrutura
do código, o vetor já estará ordenado de forma decrescente. Finalmente, os valores
decrescentes são impressos na coluna “B” da planilha (PLAN5). Para os seguintes valores
hipotéticos de corrente, a subrotina retornou a seguinte ordem decrescente de valores:

Figura 4.24 - Resultado - tec. Pinch.

Certamente, o leitor, ao rodar a subrotina desenvolvida, perceberá que ela


funciona de forma lenta. Isto ocorre devido ao processo de contabilização do número de
correntes registradas na planilha. Pode-se melhorar a performance desse procedimento
pela utilização de um comando específico para contabilizar o número de registros e
atribuir esse valor dos registros à variável “N_COR”. A sintaxe geral desse comando é:

Nome_Variável = NomePlanilha.Cells(Rows.Count,
1).End(xlUp).Row

O comando anterior realize a contagem do número de linhas não vazias (Rows)


presentes na coluna “A” (1) da planilha (“NomePlanilha”) e atribui esse valor à variável
“Nome_Variável”. Para o caso específico deste problema, a sintaxe seria: “N_COR =
Plan5.Cells(Rows.Count, 1).End(xlUp).Row – 1”
127

Atenção! Note que foi foi subtraído 1 no final da expressão. Qual a razão para isto? A
resposta pode ser vista na Figura 4.24: a célula A1 é não-vazia e não contém um valor de
temperatura; ela apenas identifica que na coluna “A” serão digitados valores de T(ºC). Se
o valor não tivesse sido subtraído, o vetor “T()” seria dimensionado para armazenar
“N_COR” + 1 valores de temperatura.
Portanto, apenas uma linha de código poderia ser utilizada em substituição ao
intervalo de comandos que se inicia em em “N_COR = 0” e termina no primeiro “Next”
após esse comando (Figura 5.23).

4.8.2 While…Wend

Esta estrutura de laço é capaz de executar loops finitos e infinitos. Isto porque
sua estrutura permite com que os comandos sejam repetidos enquanto uma determinada
condição é obedecida. Sua sintaxe é:

While (Condição)

Comandos enquanto a condição for obedecida

Wend

Perceba que o laço só se tornará infinito se a condição de entrada nunca for


atingida. É importante garantir que o valor da variável envolvida na condição de entrada
no laço varie a cada passo de repetição; e que essa variação ocorra de tal forma que, em
algum ponto, a condição de entrada no laço não seja mais obedecida, o que o encerra.

Atenção! Uma analogia para melhor entender essa estrutura de laço é que ela funciona
como um laço “For ... Next” contendo uma estrutura de decisão nos seus comandos
internos. As atividades didáticas seguintes ilustram a utilização dessa estrutura.

ATIVIDADE DIDÁTICA
O cálculo de perdas de cargas sofridas por líquidos em tubulações industriais é
fundamental para o dimensionamento de equipamentos de transporte (p.ex.: bombas).
Para que esses cálculos sejam efetuados, deve-se conhecer o fator de atrito do sistema
fluido-tubulação, cuja forma de cálculo depende do regime de escoamento).
128

Tabela 4.4 - Caracterização do regime de escoamento por faixa de Reynolds.


Tipo de escoamento Reynolds Regime de escoamento
<= 2300 Laminar
Interno (tubos) >2300 e <=4000 Em transição
> 4000 Turbulento

Para escoamentos laminares, o fator de atrito pode ser calculado como sendo f =
64/Re. Para escoamentos turbulentos, o fator de atrito pode ser calculado pela equação de
Colebrook

1 𝐸 2,5226
0,5
= −2𝑙𝑜𝑔 [ + ]
𝑓 3,7065 𝑅𝑒 𝑓 0,5

Onde f denota fator de atrito [adimensional], D denota o diâmetro da tubulação, Re é o


número adimensional de Reynolds e E é a rugosidade relativa do tubo. A equação anterior
não pode ser resolvida analiticamente, já que trata-se de uma função intrínseca. Para
resolver este problema, pode-se utilizar o método da bisseção. Seja a seguinte função
f(x) qualquer ilustrada na figura a seguir:

Figura 4.25 - O método da bisseção.

Em síntese, o referido método pode ser utilizado para encontrar uma raiz para a
função em questão; a raiz deve ser encontrada em um intervalo [a, b] em que a função
apresente comportamento contínuo e tal que o produto das imagens calculadas nesse
ponto seja negativo (f(a)*f(b) < 0); isto garante, como consequência do teorema do valor
intermediário, que a função apresente uma raiz no intervalo. Em síntese, objetivo do
método é: “dados a, b e uma tolerância, encontrar uma raiz c tal que |f(c)|< tolerância”. O
seguinte algoritmo pode ser utilizado para a implementação do método:
129

Figura 4.26 - Algoritmo: método da bisseção.

Diante do que foi exposto, e dados os valores do número de Reynolds (para o


fluido) e da rugosidade relativa (para a tubulação), escreva um procedimento capaz de
calcular o fator de atrito de um sistema para casos em que o regime de escoamento do
fluido seja laminar ou turbulento (para escoamento em transição, deve-se exibir uma caixa
de mensagem forçando o usuário a entrar novamente com o valor do número de
Reynolds). Finalmente, o programa deve imprimir os valores do número de Reynolds (e
classificar o regime de escoamento), da rugosidade relativa e do fator de atrito calculado
em células de uma planilha. DICA: para implementar o método da bisseção, utilize a =
0,007, b = 0,1 e TOL = 0,001. Tal intervalo de [a;b] foi retirado do diagrama de Moody.
RESOLUÇÃO

Para resolver este problema, o seguinte código foi utilizado.


130

Figura 4.27 - Código para cálculos de fator de atrito.

O código anterior apresenta algumas novidades em relação ao que foi


anteriormente apresentado: primeiro, o valor do número de Reynolds e da rugosidade
relativa são lidos a partir de uma “InputBox”, que, como o próprio nome sugere, é uma
caixa de mensagem capaz de receber um valor de entrada. O conceito de “MsgBox” já
havia sido utilizado anteriormente. Segundo, foi introduzido o comando “GoTo” que,
conforme seu nome sugere, pode ser utilizado para desviar o fluxo de informação de um
131

código, tanto para um ponto posterior quanto para um ponto anterior. No referido
exemplo, vê-se que o comando é utilizado para forçar o usuário a digitar um valor de
número de Reynolds que caracterize o escoamento como laminar ou turbulento.
Conforme ilustrado, a sintaxe desse comando se baseia na identificação de uma linha
(para a qual se deseja que o fluxo de informação seja desviado); essa deve iniciar com um
número (p.ex.: a linha em que é inserido o número de Reynolds é identificada como sendo
a linha “15” para a qual o comando “GoTo” força o código a ir no caso de Re
]2300;4000]).
Perceba que o código anterior funciona da seguinte forma: primeiro, lê-se o valor
do número de Reynolds; caso ele caracterize escoamento laminar, o fator de atrito é
calculado conforme desejado; caso o escoamento seja turbulento, as variáveis necessárias
pela equação de Colebrook e para o método da bisseção são lidas e tal método é realizado
para calcular o fator de atrito; finalmente, para escoamentos em transição, nenhum cálculo
é efetuado e o usuário é forçado a digitar novamente o número de Reynolds. Finalmente,
são impressos os valores do número de Reynolds e da rugosidade relativa, do regime de
escoamento e do valor do fator de atrito calculado. Para o seguinte conjunto de variáveis
de entrada, foram obtidos os resultados ilustrados:

Figura 4.28 - Resultados (fator de atrito).

4.8.3 Do…Loop

Conforme mencionado, a estrutura de laço “While...Wend” permite com que os


comandos sejam repetidos enquanto uma condição é obedecida (do inglês while) A
estrutura dessa seção pode ser utilizada para esses casos ou para o caso em que o laço
deva ser executado até que uma condição seja atingida (do inglês until). As possíveis
sintaxes para essa estrutura de laço são apresentadas:

Do While/Until (Condição)

Comandos enquanto a condição é/até que seja verdadeira


Contador = Contador + 1

Loop
132

Do

Comandos enquanto a condição é/até que seja verdadeira


Contador = Contador + 1

Loop While/Until (Condição)

Perceba que as sintaxes anteriores são similares: a única diferença é que, com a
primeira sintaxe, as variáveis envolvidas condição de entrada no laço devem ser
previamente inicializadas; utilizando a segunda sintaxe, tem-se a opção de inicializar as
variáveis envolvidas na condição de permanência no laço após a execução do comando
“Do”.

4.9 INSPEÇÃO DE ERROS EM CÓDIGOS

Inspecionar erros é uma tarefa bastante comum no dia-a-dia de um desenvolvedor


de códigos. Isto porque geralmente o software apresentará erros (sobretudo nas primeiras
execuções) que precisam ser corrigidos, já que esses podem levar o código a produzir
resultados inesperados ou mesmo impedir sua execução. O processo de identificação de
erros em código é denominado depuração (do inglês debug). Tal processo pode se tornar
bastante difícil e trabalhoso, sobretudo em códigos extensos e complexos, podendo a
dificuldade ser ainda maior caso as linhas de código estejam dispostas de forma
completamente desorganizada. Para realizar este processo, o Excel disponibiliza ao
usuário ferramentas que podem auxiliar na depuração, as quais podem ser acessadas
conforme ilustrado:

Figura 4.29 - Ferramentas de depuração (VBE)


133

Em síntese, as ferramentas de depuração permitem com que o usuário execute o


código por partes, o que permite com que “blocos de comandos” sejam inspecionadas
separadamente. Esses “blocos” são delimitados por pontos de interrupção, os quais
interrompem a execução posterior do código (isto é, o código só é executado até tais
pontos). É o usuário que decide o posicionamento e a quantidade de pontos de interrupção
que existirão no código (para tal, deve-se selecionar a linha até a qual o código deve ser
executado e pressionar “F9”). É importante mencionar que quanto mais pontos sejam
inseridos, mais estratificada torna-se a execução do código e, portanto, mais fácil é para
o usuário encontrar os erros. Uma vez dividido o código nos “blocos” de execução, o
usuário deve executá-lo (conforme a Figura 4.11 ou pressionando “F5”). Caso seja
necessário executar o código linha por linha, deve-se pressionar a tecla “F8”. Para
melhorar ilustrar esses conceitos, analisemos o seguinte código (já anteriormente
apresentado na Figura 4.22)

Figura 4.30 - Subrotina para cálculo do fatorial de um número.

Ao executar o código anterior para calcular o fatorial do número 20, ocorreu


o seguinte erro:

Figura 4.31 - Processo de depuração - Parte 1.

Ao clicar no botão “Depurar”, o código coloriu a seguinte linha do código de


amarelo, o que sugere que o erro ocorreu em algum momento do laço de cálculo.
134

Figura 4.32 - Processo de depuração - Parte 2.

As variáveis envolvidas no laço são “i”, “NUM” e “FAT”, as quais foram


declaradas corretamente, isto é, os tipos numéricos escolhidos para essas variáveis são
coerentes. De forma a solucionar o problema ocorrido, foram inseridos dois pontos de
interrupção no código, os quais são mostrados na figura a seguir:

Figura 4.33 - processo de depuração - Parte 3.

Ao executar o código até o primeiro ponto de interrupção (cuja linha de código


foi colorida de amarelo – Figura 4.34), o valor da variável “NUM” foi inspecionado.
Conforme ilustrado na figura a seguir, para inspecionar o valor de uma variável, o usuário
deve selecioná-la e, em seguida, posicionar o cursor do mouse em cima da seleção. Veja:

Figura 4.34 - O processo de depuração - Parte 4.


135

Perceba que poderia também ser selecionada toda a expressão em que à variável
“NUM” é atribuído o valor da célula “A2” da planilha (Plan2). Neste caso, conforme
ilustrado na figura a seguir, o valor retornado para a seleção seria “VERDADEIRO”,
indicando que, de fato, o valor da célula foi atribuído à variável.

Figura 4.35 - O processo de depuração - Parte 5.

Conforme ilustrado na Figura 4.36, perceba que selecionando a variável


“FATORIAL”, o valor atribuído a ela é de 0.

Figura 4.36 - Processo de depuração - Parte 6.

Isto ocorre porque o código só foi executado até o ponto de interrupção. Essa
variável só receberá o valor de inicialização (no caso 1) quando o código for executado
para além desse ponto. O próximo ponto de parada do código ocorre na linha “Next”.
Como esta linha encerra uma estrutura de repetição, pode-se inspecionar o valor recebido
pela variável “FATORIAL” a cada passo executado no laço. Espera-se que o laço seja
repetido até que a variável contador possua valor igual a 20. Para inspecionar a variável,
o usuário poderia prosseguir conforme apresentado nas figuras anteriores. No entanto,
neste caso específico, pode ser utilizado o item “Adicionar inspeção de variáveis”
presente na aba “Depurar”. Ao fazê-lo, a janela “inspeção de variáveis será aberta”:

Figura 4.37 - O processo de Depuração - Parte 8.


136

Após pressionado o botão “OK”, foi adicionada uma inspeção de variáveis para a
variável do contador (“i”). Desta forma, no canto inferior da tabela, o espaço destinado
para inspeção de variáveis foi preenchido:

Figura 4.38 - O processo de Depuração - Parte 7.

Portanto, a utilidade deste recurso de inspeção do valor da variável é evidente:


sempre que o usuário desejar inspecionar múltiplas diversas variáveis cujos valores
variam simultaneamente no processo de depuração, é recomendável utilizar tal recurso.
Prosseguindo a depuração do código a cada passo da estrutura de repetição, foi possível
detectar que o erro anteriormente apresentado ocorre especificamente em i = 13. Até esse
ponto as variáveis inspecionadas haviam assumido os seguintes valores:

Figura 4.39 - O processo de depuração - Parte 8.

No passo em que i = 13, a variável “FATORIAL” é estourada. Isto ocorre porque


ela é incapaz de receber o valor calculado para o fatorial de 13. A razão para isto é que
fatorial de 13 é um número muito grande (13 vezes 479.001.600 = 6.227.020.800), o qual
excede o limite máximo que uma variável do tipo “long” é capaz de armazenar
(2.147.483.647). Para solucionar este problema, a variável “FATORIAL” teria de ser
declarada como “double”. O valor retornado pelo código para o fatorial em questão seria
de aproximadamente 2,43290201 x 1018.
137

CAPÍTULO 5 APLICAÇÕES

Neste capítulo utilizaremos os recursos apresentados anteriormente na resolução


de problemas típicos de Engenharia Química e Engenharia de Petróleo. Com o intuito do
maior número de alunos compreenderem os problemas, selecionamos principalmente
problemas de balanços de massa e/ou energia. Tais tipos de problemas foram escolhidos
por serem apresentados em disciplinas introdutórias dos cursos das engenharias
supramencionadas em disciplinas como Princípios dos Processos Químicos e
Termodinâmica nos segundo e terceiro ano de curso. Você perceberá nas resoluções dos
problemas que mesmo os recursos mais simples do Excel podem ajudá-lo até mesmo na
resolução de problemas complexos. No entanto, vale salientar, que é de fundamental
importância do aluno que compreenda integralmente os enunciados dos problemas, pois
dominar as ferramentas do Excel e não compreender a natureza física dos problemas é
análogo a ter uma Ferrari na garagem e não saber dirigir, você não chegará a lugar algum.
Os três primeiros problemas apresentam as resoluções passo a passo. Já os outros
problemas que seguem serão resolvidos na última aula de nosso curso.

5.1 CRIANDO UM MENU SIMPLES PARA UM BANCO DE DADOS

Uma atividade corriqueira no cotidiano do profissional de Engenharia Química ou


Engenharia de Petróleo é procurar dados de compostos e sistemas em tabelas. Tais tabelas
podem ser encontradas em livros, bancos de dados comerciais, sites e artigos científicos.
Duas fontes bastante importantes são o Perry’s Chemical Engineers’ Handbook7 e o The
Properties of Gases and Liquids8. Geralmente, as tabelas apresentam centenas (ou até
milhares) de dados de compostos químicos, o que torna a procura por um composto na
tabela uma tarefa tediosa. Com isso, a partir dos conhecimentos adquiridos no Capítulo
2, criaremos um banco de dados com dados de centenas de compostos químicos. Esse
banco de dados será fundamental na resolução dos outros problemas desse capítulo.
Na pasta do Capítulo 5 do nosso material digital há dois arquivos textos
denominados de “CalorEspecifico.txt” e “ConstantesCriticas.txt”, o primeiro contém
constantes, de 50 compostos, para o cálculo do calor específico utilizando as equações
5.1 e 5.2, já o segundo arquivo contém as constantes críticas dos mesmos compostos. Tais
dados foram tirados do Perry’s Chemical Engineers’ Handbook (nesta referência há
dados de 231 compostos para essas propriedades).
Para a criação do seu banco de dados siga os seguintes passos:

7
PERRY, R. H.; GREEN, D. W.; MALONEY, J. O. Perry“ s Chemical Engineers” Handobook. 7. ed. [s.l.]
McGRAW-HILL, 1999.
8
POLING, B. PRAUSNITZ, J., O’CONNELL, J. The Properties of Gases and Liquids. 5. ed. McGRAW-
HILL, 2001.
138

Passo 1: Importe os arquivos textos para o Excel (Seção 2.2.1) e os organize conforme a
Figura 5.1. Lembre-se de utilizar as Configurações avançadas de importação de texto
para trocar os separadores decimal e de milhares de (.) para (,) e de (,) para (.),
respectivamente.

Figura 5.1 – Constantes críticas e constantes para o cálculo do calor específico (gás ideal).

Atenção! Note que os dados da pressão crítica estão multiplicados por 10-6, portanto, para
obtermos os dados em KPa, devemos multiplicar a coluna da pressão crítica por 103 e
posteriormente colar o resultado (na forma Valores) na coluna de origem.

Passo 2: Para adicionar, procurar e excluir novos registros você pode utilizar o recurso
Formulário de Dados (Capítulo 2 – Seção 2.3). No entanto, façamos um menu utilizando
apenas a função PROCV e lista suspensas em células (Capítulo 2 – Seção 2.6). Para isso,
primeiramente nomeie o intervalo A2:T51 da planilha DADOS COMPOSTOS (Figura
5.1) como DadosCompostos.

Passo 3: Insira uma nova planilha, formatando-a conforme a Figura 5.2. Depois, faça o
seguinte:
 Na célula B2 vamos inserir uma caixa de combinação. Ela é similar à Lista da
guia Dados (Validação de Dados). Porém, ela retorna um valor quando utilizada,
o que será útil quando formos utilizar os “PROCVs” para encontrar os dados do
composto selecionado. Para isso vá na guia Desenvolvedor (mostrada
inicialmente no Capítulo 3 e aprofundada no Capítulo 4. Clique em Inserir
(submenu Controles) e escolha uma caixa de combinação. Conforme mostrado
pela Figura 5.3.
139

Figura 5.2 – Planilha Menu.

Figura 5.3 – Inserindo uma caixa de combinação.

 Ao clicar em qualquer lugar da planilha a caixa de combinação aparecerá. Você


deverá redimensiona-la. Depois, clique com o botão direito do mouse e configure
a aba Controle da caixa de diálogo Formatar Objeto da mesma forma que está
ilustrada na Figura 5.4.
O primeiro intervalo refere-se aos dados que aparecerão quando a caixa de
combinação for pressionada. A caixa de texto Vínculo da célula refere-se ao número do
registro selecionado. Escolhemos a célula E2, pois dimensionaremos a caixa de
combinação de modo a escondê-la, conforme mostrado na Figura 5.5.
140

Figura 5.4 – Caixa de diálogo Formatar Objeto.

Figura 5.5 – Caixa de combinação ao ser pressionada.

 Insira as seguintes fórmulas nas células:

Na célula B3 insira “=PROCV($E$2;DadosCompostos;4;0)”.


Na célula B4 insira “=PROCV($E$2;DadosCompostos;3;0)”.
Na célula B6 insira “=PROCV($E$2;DadosCompostos;5;0)”.
Na célula B7 insira “=PROCV($E$2;DadosCompostos;6;0)”.
Na célula B8 insira “=PROCV($E$2;DadosCompostos;7;0)”.
Na célula B9 insira “=PROCV($E$2;DadosCompostos;8;0)”.
Na célula B10 insira “=PROCV($E$2;DadosCompostos;9;0)”.
Na célula B11 insira “=PROCV($E$2;DadosCompostos;10;0)”.
Na célula B13 insira “=PROCV($E$2;DadosCompostos;12;0)”.
Na célula B14 insira “=PROCV($E$2;DadosCompostos;13;0)”.
141

Na célula B15 insira “=PROCV($E$2;DadosCompostos;14;0)”.


Na célula B16 insira “=PROCV($E$2;DadosCompostos;15;0)”.
Na célula B17 insira “=PROCV($E$2;DadosCompostos;16;0)”.
Na célula B18 insira “=PROCV($E$2;DadosCompostos;17;0)”.
Na célula B19 insira “=PROCV($E$2;DadosCompostos;18;0)”.
Na célula B20 insira “=PROCV($E$2;DadosCompostos;19;0)”.
Na célula B21 insira “=PROCV($E$2;DadosCompostos;20;0)”.

Pronto, ao selecionar o composto na caixa de combinação, os dados aparecem nas


células onde se colocaram as fórmulas. Uma ilustração da escolha do n-decano é mostrada
na Figura 5.6.

Figura 5.6 – Dados para o n-Decano.

5.2 BALANÇO MATERIAL SEM REAÇÃO EM SISTEMA


ESTACIONÁRIO

Xileno, estireno, tolueno e benzeno são separados por uma bateria de colunas de
destilação, conforme mostrado na Figura 5.7. As correntes F, D, B, D1, B1, D2, B2 são
as vazões molares em mol/min.
142

Figura 5.7 – Bateria de colunas de destilação.

RESPONDA

a) Calcule as vazões molares (mol/min) das correntes D1, D2, B1 e B2.


b) Determine a vazão molar e as composições das correntes B e D.

RESOLUÇÃO

a)
O balanço material por componente para o sistema global é dado pelo seguinte
sistema de equações:

Xileno: 0,07D1 + 0,18B1 + 0,15D2 + 0,24B2 = 10,5 (5.1)


Estireno: 0,04D1 + 0,24B1 + 0,10D2 + 0,65B2 = 17,5 (5.2)
Tolueno: 0,54D1 + 0,42B1 + 0,54D2 + 0,10B2 = 28,0 (5.3)
Benzeno: 0,35D1 + 0,16B1 + 0,21D2 + 0,01B2 = 14,0 (5.4)

O sistema de equação formado pelas Equações (5.1) – (5.4) podem ser escritos na forma
matricial, como mostrado a seguir:
143

0,07 0,18 0,15 0,24 D1 10,5


0,04 0,24 0,10 0,65 B1 17,5
[ ]×[ ]=[ ] (5.5)
0,54 0,42 0,54 0,10 D2 28,0
0,35 0,16 0,21 0,01 B2 14,0

Chamando a primeira matriz de A, a segunda de X e a terceira de B, sabe-se que a


resolução do sistema é dada por:
𝐴∙𝑋 = 𝐵 (5.6)
𝐴−1 ∙ 𝐴 ∙ 𝑋 = 𝐵 ∙ 𝐴−1 (5.7)
𝑋 = 𝐵 ∙ 𝐴−1 (5.8)

Conforme visto no Capítulo 1, o Excel apresenta uma série de funções


matemática, entre elas há as funções MATRIZ.INVERSO (que calcula a inversa de uma
matriz) e MATRIZ.MULT (que calcula a multiplicação entre matrizes). Note agora, o
quanto o problema se tornou simples! Para a resolução desse problema no Excel, siga os
passos:

Passo 1: Escreva uma planilha conforme ilustrada na Figura 5.8.

Figura 5.8 – Planilha para a resolução do balanço sem reação em sistema estacionário.

Passo 2: Selecione o intervalo D12:G15 e insira a seguinte fórmula:


“=MATRIZ.INVERSO(E5:H8)” e pressione Crtl+Shift+Enter. Os valores da matriz
inversa de A aparecerão nesse intervalo.

Passo 3: Selecione o intervalo M12:M15 e insira a fórmula


“=MATRIZ.MULT(D12:G15;J13:J16)” e pressione Crtl+Shift+Enter. Os valores da
matriz X aparecerão nesse intervalo, conforme ilustrado pela Figura 5.9, neste caso os
valores procurados.
144

Figura 5.9 – Resultado do item (a) do problema.

b)
O balanço material na coluna #2 pode ser usado para determinar a corrente D, com
isso:

Balanço global: 𝐷 = 𝐷1 + 𝐵1 (5.9)


Xileno: xDX D = 0,07D1 + 0,18B1 (5.10)
Estireno: xDE D = 0,04D1 + 0,24B1 (5.11)
Tolueno: xDT D = 0,54D1 + 0,42B1 (5.12)
Benzeno: xDB D = 0,35D1 + 0,16B1 (5.13)

onde xDX = fração molar de Xileno, xDE = fração molar de Estireno, xDT = fração molar
de Tolueno e xDB = fração molar de Benzeno; na corrente de entrada da coluna #2.

Similarmente o balanço material na coluna #3 é realizado para determinar a


corrente B:

Balanço global: 𝐵 = 𝐷2 + 𝐵2 (5.14)


Xileno: xBX B = 0,15D2 + 0,24B2 (5.15)
Estireno: xBE B = 0,10D2 + 0,65B2 (5.16)
Tolueno: xBT B = 0,54D2 + 0,10B2 (5.17)
Benzeno: xBB B = 0,21D2 + 0,01B2 (5.18)

onde xBX = fração molar de Xileno, xBE = fração molar de Estireno, xBT = fração molar
de Tolueno e xBB = fração molar de Benzeno; na corrente de entrada da coluna #3.
145

Agora, na mesma planilha, escreva os dados do problema conforme mostrado pela


Figura 5.10. Os dados inseridos nas referidas correntes são dados no problema.

Figura 5.10 – Planilha para a resolução do item (b) do problema.

Para calcular a composição das correntes D e B, e escrever as vazões de cada


composto em cada corrente faça o seguinte:

Na célula P13 insira a seguinte fórmula: “=M12+M13”.


Na célula S13 insira a seguinte fórmula: “=M12”.
Na célula V13 insira a seguinte fórmula: “=M14”.
Na célula P21 insira a seguinte fórmula: “=M14+M15”.
Na célula S21 insira a seguinte fórmula: “=M13”.
Na célula V21 insira a seguinte fórmula: “=M15”.
Na célula T15 insira a seguinte a fórmula: “=S15*$S$13”. Clique no canto direito inferior
da célula e a arraste até a célula T18.
Na célula T23 insira a seguinte a fórmula: “=S23*$S$21”. Clique no canto direito inferior
da célula e a arraste até a célula T26.
Na célula W15 insira a seguinte a fórmula: “=V15*$V$13”. Clique no canto direito
inferior da célula e a arraste até a célula W18.
Na célula W23 insira a seguinte a fórmula: “=V23*$V$21”. Clique no canto direito
inferior da célula e a arraste até a célula W26.
Na célula P15 insira a seguinte fórmula: “=(0,07*S13+0,18*S21)/P13”.
Na célula P16 insira a seguinte fórmula: “=(0,04*S13+0,24*S21)/P13”.
Na célula P17 insira a seguinte fórmula: “=(0,54*S13+0,42*S21)/P13”.
Na célula P18 insira a seguinte fórmula: “=1-SOMA(P15:P17)”.
146

Na célula P23 insira a seguinte fórmula: “=(0,15*V13+0,24*V21)/P21”.


Na célula P24 insira a seguinte fórmula: “=(0,1*V13+0,65*V21)/P21”.
Na célula P25 insira a seguinte fórmula: “=(0,54*V13+0,1*V21)/P21”.
Na célula P26 insira a seguinte fórmula: “=1-SOMA(P23:P25)”.
Na célula Q15 insira a seguinte a fórmula: “=P15*$P$13”. Clique no canto direito inferior
da célula e a arraste até a célula Q18.
Na célula Q23 insira a seguinte a fórmula: “=P23*$P$21”. Clique no canto direito inferior
da célula e a arraste até a célula Q26.
Na célula P19 insira a seguinte fórmula: “=SOMA(P15:P18)”.
Na célula P27 insira a seguinte fórmula: “=SOMA(P23:P26)”.
Na célula S19 insira a seguinte fórmula: “=SOMA(S15:S18)”.
Na célula S27 insira a seguinte fórmula: “=SOMA(S23:S26)”.
Na célula V19 insira a seguinte fórmula: “=SOMA(W15:W18)”.
Na célula V27 insira a seguinte fórmula: “=SOMA(W23:W26)”.

O resultado deverá ser similar ao da Figura 5.11.

Figura 5.11 – Resultado do item (b) do problema.


147

5.3 BALANÇO MATERIAL COM REAÇÃO EM SISTEMA


ESTACIONÁRIO

O metanol é formado a partir de monóxido de carbono e hidrogênio na reação em


fase gasosa

CO + 2 H2 ⥨ CH3OH (5.19)
(A) (B) (C)

As frações molares das espécies reativas no equilíbrio satisfazem a relação


A constante de equilíbrio 𝐾p é igual a 10,5 a 373 K e 2,316·10-4 a 573 K e sabe-
se que ela apresenta um comportamento com a temperatura semelhante à Lei de
Arrhenius.

RESPONDA
a) Escreva uma função de 𝐾p em função de T.
b) Calcule a composição molar do produto (yA, yB e yC) para uma reação que ocorra a
423 K e 2,00 bar, considerando que no início da reação as quantidades de CO e H2
são iguais e a de CH3OH é zero.
c) Avalie (Construa gráficos) como a fração dos produtos e fa (a conversão fracional
de CO) variam com (i) a fração de CO na alimentação, (ii) a fração de CH3OH na
alimentação, (iii) a temperatura e (iv) a pressão.

RESOLUÇÃO
a)
Sabe-se que o ΔHo para reações em fase gasosa geralmente varia lentamente com
a temperatura, sendo assim é uma boa aproximação ignorar a dependência de ΔHo em
relação à temperatura. Com isso, a equação de van’t Hoff integrada nos fornece a seguinte
relação:

𝐵
ln 𝐾p = 𝐴 − 𝑇 (5.20)

Onde A e B são obtidos através de uma regressão.


Conforme visto no Capítulo 1, é muito fácil de se encontrar os parâmetros A e B
da Equação 5.20 no Excel. Para isso, plote em um gráfico os valores de lnKp versus 1/T
148

e adicione uma Linha de Tendência Linear. Os resultados deverão ser iguais à Figura
5.12.

Figura 5.12 – Parâmetros para a Equação 5.20.

Como você pode observar os valores de A e B da Equação 5.20 são


respectivamente 4,79·10-13 e 11.548.

b)

Considerando o sistema formado por gases ideais, teremos a constante de


equilíbrio dada por:

𝑦𝐶 1
𝐾𝑝 (𝑇) = 𝑦 2 2 (5.22)
𝐴 ∙𝑦𝐵 𝑃

onde P é a pressão total (bar), 𝐾𝑝 é a constante de equilíbrio da reação (atm-2) e T é a


temperatura (K).
Os balanços molares para cada espécie e total em função da extensão da reação
no equilíbrio (ε) são

CO: 𝑛𝐴 = 𝑛𝐴0 − 𝜀 (5.23)


H2: 𝑛𝐵 = 𝑛𝐵0 − 2𝜀 (5.24)
CH3OH: 𝑛𝐶 = 𝑛𝐶0 + 𝜀 (5.25)
Total: 𝑛𝑇 = 𝑛𝑇0 − 2𝜀 (5.26)
149

As frações molares no equilíbrio são dadas por

𝑛𝐴 𝑛 −𝜀
CO: 𝑦𝐴 = = 𝑛 𝐴0−2𝜀 (5.27)
𝑛𝑇 𝑇0

𝑛𝐵 𝑛𝐵0 −2𝜀
H2: 𝑦𝐵 = = (5.28)
𝑛𝑇 𝑛𝑇0 −2𝜀
𝑛 𝑛 +𝜀
CH3OH:𝑦𝐶 = 𝑛𝐶 = 𝑛 𝐶0−2𝜀 (5.29)
𝑇 𝑇0

As frações molares no início da reação são dadas por

𝑛
CO: 𝑦𝐴0 = 𝑛𝐴0 (5.30)
𝑇0

𝑛𝐵0
H2:𝑦𝐵0 = (5.31)
𝑛𝑇0
𝑛
CH3OH: 𝑦𝐶0 = 𝑛𝐶0 (5.32)
𝑇0

Substituindo as equações 5.23 a 5.32 na equação 5.22 e considerando o número de mols


total inicial igual à unidade (nT0=1), chega-se a uma equação de equilíbrio em função
apenas de T, P, ε, yA0, yB0 e yC0

(𝑦𝐶𝑜 +𝜀) (1−2𝜀)2 1


= 𝐾𝑃 (𝑇) (5.33)
(𝑦𝐴𝑜 −𝜀) (𝑦𝐵𝑜 −2𝜀)2 𝑃 2

Como pode ser observado, para encontrarmos a resposta do item (b) precisamos resolver
a Equação 5.33. No caso, encontrar o valor de ε. Para a resolução será necessário
resolvermos a seguinte função de ε.

(𝑦 +𝜀) (1−2𝜀)2 1
𝑓(𝜀) = (𝑦 𝐶𝑜 −𝜀) (𝑦 − 𝐾𝑃 (𝑇) (5.33)
𝐴𝑜 𝐵𝑜 −2𝜀)2 𝑃2

Para a resolução desse problema, siga os seguintes passos:

Passo 1: Na planilha que você começou o item (a), coloque os dados de entrada do
problema, conforme mostrado na Figura 5.13. E insira as seguintes fórmulas nas células:
150

Figura 5.13 – Inserindo os dados de entrada o item (b).

Na célula B16 insira a seguinte fórmula: “=(B7*B10-B13)/(B7-2*B13)”.


Na célula B17 insira a seguinte fórmula: “=(B7*B11-2*B13)/(B7-2*B13)”.
Na célula B18 insira a seguinte fórmula: “=(B7*B12+B13)/(B7-2*B13)”.
Na célula B19 insira a seguinte fórmula: “=B10/B13”.

Passo 2: Com o intuito de organizar melhor sua planilha, no VBE (Capítulo 4), escreva
as funções para a equação de Kp e da função objetivo. Tais funções são ilustradas na
Figura 5.14.

Figura 5.14 – Funções no VBA.

Passo 3: Na célula C13 insira a fórmula da função objetivo:


“=Fobj(B9;B8;B10;B11;B12;B13)”.
151

Passo 4: Selecione o Solver e preencha a caixa de diálogo conforme ilustrado pela Figura
5.15. Clique em OK e terá o resultado mostrado na Figura 5.16. As restrições inseridas
no Solver são devido ao fato das frações molares não poderem ser negativas.

Figura 5.15 – Preenchendo a caixa de diálogo Parâmetros Solver.

Figura 5.16 – Resultado do item (b) do problema.

c)

Para a construção dos gráficos precisaremos resolver a função objetivo várias


vezes. Com isso, para facilitar o seu trabalho, sugerimos que você grave uma macro que
calcule a função objetivo. Outra sugestão, atribuir essa macro a um botão.
152

5.4 BALANÇO MATERIAL COM REAÇÃO E RECICLO

O seguinte diagrama (Figura 5.17) representa uma parte do processo da produção


de metanol, o qual é produzido através de uma reação de síntese de gás (CO e H2) de
acordo com a Equação 5.19.

Figura 5.17 - Parte do processo de produção de metanol através do gás de síntese.

Uma corrente de 1000 Kmol/h contendo 33% de CO, 66,5% de H2 e 0,5% de CH4
(todos em base molar) é introduzida no reator catalítico. Somente 40% de conversão de
CO é obtida. O produto do reator é então introduzido em um separador, onde o metanol
é separado dos componentes que não reagiram. A corrente de fundo contém 3% de CO,
2% de H2, 4% de CH4 e 96% de metanol da corrente que sai do reator.
Devido à baixa conversão da reação, haverá muito reagente sobrando na saída no
reator. Com isso, com o intuito de diminuir o desperdício de reagentes, a corrente de topo
do separador (rica em reagentes) é “reciclada”, ou seja, misturada à corrente de
alimentação antes de ser introduzida no reator. No entanto, para evitar o acúmulo de
substâncias inertes no sistema, a corrente de topo do separador é purgada antes de se
misturar com a nova corrente de alimentação. A corrente 6 apresenta 10% da corrente 4,
em unidades molares.
O balanço material (molar) de uma espécie molecular em um sistema com reação
é dado por:

𝑁̇𝑖,𝐸𝑁𝑇𝑅𝐴𝐷𝐴 = 𝑁̇𝑖,𝑆𝐴Í𝐷𝐴 + ∑𝑛𝑗=1 𝛽𝑖𝑗 𝑟𝑗 (5.34)

Onde:
𝑁̇𝑖,𝐸𝑁𝑇𝑅𝐴𝐷𝐴 : corrente de entrada da espécie i;
153

𝑁̇𝑖,𝑆𝐴Í𝐷𝐴 : corrente de saída da espécie i;


𝛽𝑖𝑗 : coeficiente estequiométrico da espécie i na reação j
𝑟𝑗 : taxa molar da reação j, podendo ser calculada através da reação:

𝑟𝑗 = [(NENTRADA x Conversão x Seletividade )/(−βreagente limitante )] (5.35)

RESPONDA
a) Determine as composições e vazões de todas as correntes do sistema.
b) Repita o procedimento do item a com as vazões de alimentação (corrente 2) iguais
a 500 e 1500 Kgmol/h

5.5 CÁLCULO DO VOLUME DO GÁS NATURAL UTILIZANDO AS


EQUAÇÕES DE SRK E PR.

O processo de refino do gás natural é extremamente importante para tornar este


gás propício a ser utilizado para fins energéticos. Isso porque o gás, ao ser retirado do
poço de produção, frequentemente contém impurezas em sua composição (p.ex.: dióxido
de carbono, nitrogênio, etc.). Para projetar equipamentos a serem utilizados no processo
de refino, é fundamental conhecer o valor de seu volume molar do gás natural (V). Para
calcula-lo, equações de estado cúbicas podem ser utilizadas, das quais duas são
exemplificadas a seguir:

Equação de Soave-Redlich-Kwong

𝑅𝑇 𝜃
𝑃 = 𝑉−𝑏 − (5.36)
√𝑇 𝑉(𝑉+𝑏)

Os parâmetros da equação podem ser calculados conforme segue:


𝜃 = 𝑎 ∗ 𝛼(𝑇𝑟, 𝜔) (5.37)
(𝑅𝑇𝑐 )2
𝑎 = 0,42748 (5.38)
𝑃𝑐
2
𝑇 0,5
𝛼(𝑇𝑟, 𝜔) = {1 + (0,480 + 1,574𝜔 − 0,176𝜔2 ) [1 − (𝑇 ) ]} (5.39)
𝑐

𝑅𝑇𝑐
𝑏 = 0,08664 (5.40)
𝑃𝑐

Equação de Peng-Robinson
154

𝑅𝑇 𝜃
𝑃 = 𝑉−𝑏 − 𝑉(𝑉+𝑏)+𝑏(𝑉−𝑏) (5.41)

Os parâmetros da equação podem ser calculados conforme segue:

𝜃 = 𝑎 ∗ 𝛼(𝑇𝑟, 𝜔) (5.42)
(𝑅𝑇𝑐 )2
𝑎 = 0,45724 ; (5.43)
𝑃𝑐
2
𝑇 0,5
𝛼(𝑇𝑟, 𝜔) = {1 + (0,37464 + 1,5422𝜔 − 0,26992𝜔2 ) [1 − (𝑇 ) ]} (5.44)
𝑐

𝑅𝑇𝑐
𝑏 = 0,07780 (5.45)
𝑃𝑐

Onde P denota Pressão, V denota o Volume Molar, R é a constante universal dos gases e
T denota temperatura. Os parâmetros Tc e Pc e ω denotam a temperatura crítica, pressão
crítica e o fator acêntrico da substância (esses parâmetros são uma espécie de identidade
de um composto). Quando essas equações forem aplicadas a uma mistura de gases, deve-
se substituir os parâmetros θ e b (aplicáveis para componentes puros) por θMIX e bMIX
(aplicáveis para uma mistura), os quais podem ser calculados conforme segue:

𝜃𝑀𝐼𝑋 = ∑𝑁𝐶 𝑁𝐶
𝑖=1 ∑𝑗=1 𝑥𝑖 𝑥𝑗 𝜃𝑖𝑗 ; sendo 𝜃𝑖𝑗 = √𝜃𝑖 𝜃𝑗 (5.46)

𝑏𝑀𝐼𝑋 = ∑𝑁𝐶
𝑗=1 𝑥𝑖 𝑏𝑖 (5.47)

Onde NC denota o número de componentes e xi denota a fração molar do componente ‘i’


presente na mistura. Note que os parâmetros θ devem ser calculados para cada
componente da mistura conforme as Equações (5.37) ou (5.42);
Normalmente, para o cálculo do volume de gases, as equações de SRK e PR são
escritas nas suas formas cúbicas explicitadas em termos do fator de compressibilidade
(Z). Esse parâmetro é definido matematicamente por:

𝑃𝑉
𝑍= (5.48)
𝑅𝑇

Perceba que, para gases ideais (Z = 1), a equação anterior se reduz à Equação dos Gases
Ideais. Esse fator mede, portanto, o grau de afastamento que um gás (ou de uma mistura
de gases) apresenta em relação ao comportamento ideal. Em outras palavras, quanto mais
155

distante da unidade é o valor de Z, mais não-ideal é aquele gás (ou mistura de gases). As
formas explicitadas das equações anteriores em termos de Z se torna:

𝑍 3 + 𝛼𝑍 2 + 𝛽𝑍 + 𝛾 = 0 (5.49)

Sendo os parâmetros calculados conforme o equacionamento seguinte:

𝛼 = −(1 + 𝐵 ∗ − 𝑢𝐵 ∗ ) (5.50)
𝛽 = [𝐴∗ + 𝑞(𝐵∗ )2 − 𝑢𝐵 ∗ − 𝑢(𝐵 ∗ )2 ] (5.51)
𝛾 = −[𝐴∗ 𝐵 ∗ + 𝑞(𝐵∗ )2 + 𝑞(𝐵 ∗ )3 ] (5.52)
𝜃𝑀𝐼𝑋 𝑃
𝐴∗ = (5.53)
(𝑅𝑇)2

𝑏𝑀𝐼𝑋 𝑃
𝐵∗ = (5.54)
𝑅𝑇

Onde q e w são valores constantes e dependem da equação a ser utilizada. Para a equação
de SRK: q=1 e w = 0; Para a equação de PR: q = 2 e w = -1.

A Equação (5.49) pode ser resolvida numericamente para encontrarmos suas raízes. De
posse dos da Tabela 5.1 e sabendo que o fator de compressibilidade Z de uma fase gasosa
corresponde à maior raiz real no domínio da equação cúbica, elabore um código para
calcular o fator de compressibilidade do gás natural em questão para uma ampla faixa de
temperatura e pressão. O código deve permitir ao usuário escolher qual das equações
anteriormente mostradas será aplicada no cálculo desejado.
Dica! Utilize o método de Newton para resolver a equação cúbica (chute inicial para Z =
1); R = 83.14 cm³.bar/mol.K

Tabela 5.1 – Frações molares e propriedades críticas dos componentes de um dado gás natural.
Substância Fração Molar
CH4 0,70
C2H6 0,10
C3H8 0,07
n-C4H10 0,02
CO2 0,01
N2 0,10
156

5.6 REPRESENTAÇÃO E REGRESSÃO DE DADOS DE PRESSÃO DE


VAPOR ATRAVÉS DAS EQUAÇÕES DE ANTOINE, DIPPR E
WAGNER

Alguns cálculos de projeto necessitam de expressões algébricas precisas que


relacionem a temperatura com a pressão de vapor. Exemplos de expressões bastante
utilizadas para o cálculo da pressão de saturação de uma substância são:

Equação de Antoine
𝐵
𝑙𝑛𝑃𝒔𝒂𝒕 = 𝐴 + 𝑇+𝐶 (5.55)

Equação DIPPR

𝐵
𝑙𝑛𝑃𝒔𝒂𝒕 = 𝐴 + 𝑇 + 𝐶𝑙𝑛𝑇 + 𝐷𝑇 𝐸 (5.56)

Equação de Wagner (2,5 - 5)

𝑃𝑠𝑎𝑡 1
𝑙𝑛 = 𝑇 [𝐴𝜏 + 𝐵𝜏 1,5 + 𝐶𝜏 2,5 + 𝐷𝜏 5 ] (5.57)
𝑃𝑐 𝑟

𝜏 = 1 − 𝑇𝑟 (5.58)
𝑇
𝑇𝑟 = 𝑇 (5.59)
𝑐

Os coeficientes A, B, C, D e E presentes nas equações 4.1, 4.2 e 4.3 são parâmetros


ajustáveis através de métodos de minimização, como o método de Simplex9. A função a
ser minimizada pode ser de várias formas, como, por exemplo:

𝑠𝑎𝑡,𝑒𝑥𝑝 2
𝐹𝑜𝑏𝑗 = ∑𝑁
𝑖=1(𝑃𝑖 − 𝑃𝑖𝑠𝑎𝑡,𝑐𝑎𝑙𝑐 ) (5.60)

Onde:

9
NELDER, J. A.; MEAD, R. A Simplex Method for Function Minimization. Computer Journal, v. 7, p.
308–313, 1965.
157

𝑃𝑖𝑠𝑎𝑡,𝑒𝑥𝑝 : pressão de vapor experimental;

𝑃𝑖𝑠𝑎𝑡,𝑐𝑎𝑙𝑐 : pressão de vapor calculada pelo modelo escolhido;


𝑁: número de dados experimentais;

A partir do descrito anteriormente, construa uma planilha que encontre os parâmetros


característicos das equações de Antoine, DIPPR e Wagner, para uma dada substância, e
forneça os gráficos Psat vs. T (para os valores experimentais e calculados) e 𝑒𝑟𝑟𝑜 vs. T,
onde:

𝑠𝑎𝑡 −𝑃 𝑐𝑎𝑙𝑐
𝑃𝑒𝑥𝑝 𝑐𝑎𝑙𝑐
𝑒𝑟𝑟𝑜 = 100 𝑥 [ 𝑒𝑥𝑝 ] (5.61)
𝑃𝑒𝑥𝑝

5.7 EQUILÍBRIO LÍQUIDO-VAPOR DE SISTEMAS BINÁRIOS E


MULTICOMPONENTES IDEAIS

O conhecimento do comportamento do equilíbrio líquido-vapor (ELV) em


engenharia química é muito importante, pois esse comportamento é bastante presente na
maioria dos processos. O projeto de colunas de destilação, equipamento utilizado para a
separação de vários componentes através da diferença de pontos de ebulição, tem como
informação necessária a quantificação do ELV do sistema, ou seja, saber quanto de cada
espécie terá em cada fase, em uma dada condição operacional (temperatura e pressão).
A forma mais simples de se modelar o ELV multicomponente é através da Lei de
Raoult, a qual considera tanto a fase vapor, como a fase líquida, ideais:

𝑦𝑖 𝑃 = 𝑥𝑖 𝑃𝑖𝑠𝑎𝑡 (5.62)

Onde:
𝑦𝑖 : fração molar do componente i na fase vapor;
𝑃: pressão do sistema;
𝑥𝑖 : fração molar do componente i na fase líquida;
𝑃𝑖𝑠𝑎𝑡 : pressão de vapor do componente i na temperatura do sistema. A pressão de vapor
pode ser calculada através de equações como a de Antoine, DIPPR e Wagner, por
exemplo.
158

Princípios das metodologias de cálculo do ELV para sistemas binários e


multicomponentes podem ser encontrados em diversos livros de graduação10.

A partir do conhecimento da modelagem do ELV para sistemas multicomponentes,


desenvolva:

a) Uma planilha que construa diagramas Pxy e Txy para qualquer mistura binária
utilizando a Lei de Raoult.
b) Uma planilha que realize todos os tipos de cálculo do ELV (pressões de bolha e
orvalho, temperaturas de bolha e orvalho e cálculo flash) para sistemas
multicomponentes utilizando a Lei de Raoult e a Lei de Raoult modificada.

5.8 BALANÇO DE ENERGIA EM UM TANQUE FLASH


ADIABÁTICO11

Um tanque flash adiabático contínuo é usado para separar uma mistura líquida de
duas substâncias (A e B). A alimentação entra na temperatura TF e sob alta pressão, e
vaporiza parcialmente até uma baixa pressão, P, na qual a sua temperatura cai para T.
Para uma base admitida de 1 mol/s de alimentação, seja

𝑛𝐿̇ , 𝑛𝑉̇ : vazões molares dos produtos líquido e vapor


𝑥𝐹 , 𝑥, 𝑦: frações molares de A na alimentação, produto líquido e produto vapor
𝑃𝐴∗ (𝑇), 𝑃𝐵∗ (𝑇) : pressões de vapor de A e B
𝑇𝑅𝐴 , 𝑇𝑅𝐵 : temperaturas de referência para cálculos de entalpia
̂𝐴𝐹 (𝑇𝐹 ), 𝐻
𝐻 ̂𝐴𝐿 (𝑇), 𝐻
̂𝐴𝑉 (𝑇),𝐻
̂𝐵𝐹 (𝑇𝐹 ), 𝐻
̂𝐵𝐿 (𝑇), 𝐻
̂𝐵𝑉 (𝑇): entalpias específicas de A e B na
alimentação, produto líquido e produto vapor em relação a 𝑇𝑅𝐴 e 𝑇𝑅𝐵

As equações de balanço de massa e energia no tanque flash são dadas por

10
FELDER, R. M.; ROUSSEAU, R. W. Princípios Elementares dos Processos Químicos. 3. ed. Rio de
Janeiro: LTC, 2000.
KORETSKY, M. D. Termodinâmica para Engenharia Química. Rio de Janeiro: LTC, 2007.
SIMITH, J. M.; VAN NESS, H. C.; ABBOTT, M. M. Introdução à Termodinâmica da Engenharia
Química. 7. ed. Rio de Janeiro: LTC, 2007.
TERRON, L. R. Termodinâmica Química Aplicada. 1. ed. São Paulo: Manole, 2009.
11
FELDER, R. M.; ROUSSEAU, R. W. Princípios Elementares dos Processos Químicos. 3. ed. Rio de
Janeiro: LTC, 2000, p.372.
159

𝑃−𝑃 ∗ (𝑇)
𝐵
𝑥 = 𝑃∗ (𝑇)−𝑃 ∗ (𝑇) (5.63)
𝐴 𝐵

𝑥𝑃𝐴∗ (𝑇)
𝑦= (5.64)
𝑃
𝑦−𝑥𝐹
𝑛𝐿̇ = (5.65)
𝑦−𝑥

𝑛𝑉 = 1̇ − 𝑛𝐹̇ (5.66)
̂𝐴𝐿 (𝑇) + (1 − 𝑥)𝐻
∆𝐻 = 𝑛𝐿̇ [𝑥𝐻 ̂𝐵𝐿 (𝑇)] + 𝑛𝑉̇ [𝑥𝐻
̂𝐴𝑉 (𝑇) + (1 − 𝑥)𝐻
̂𝐵𝑉 (𝑇)] (5.67)
̂𝐴𝐹 (𝑇𝐹 ) + (1 − 𝑥𝐹 )𝐻
−[𝑥𝐹 𝐻 ̂𝐵𝐹 (𝑇𝐹 )]

Desenvolva uma planilha para fazer os cálculos do flash para uma mistura binária
qualquer.

Você também pode gostar