Escolar Documentos
Profissional Documentos
Cultura Documentos
ENGENHEIROS
O USO DO MS-EXCEL COMO FERRAMENTA AUXILIAR
NA RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA.
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.
PREFÁCIO 5
PREFÁCIO
Frederico Ribeiro
Nathan Sombra
6
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.
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
1.2 AS 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
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?
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
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:
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
ATIVIDADE DIDÁTICA
1) Reproduza uma planilha eletrônica contendo o conteúdo de sua programação diária.
Segue o modelo:
12
Solução
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.
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ó:
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
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.
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.
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.
A Figura 1.13 ilustra de forma didática o que cada um desses operadores faz.
1.7.1 Matemáticas
1.7.2 Lógicas
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.
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:
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.
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
“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?
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.
Atenção! Deve-se tomar cuidado para efetuar de forma os cálculos com matrizes.
Considere a matriz “A” apresentada a seguir:
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?
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:
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).
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
Solução
Sabe-se que a massa molar de uma mistura pode ser calculada segundo a Equação (1.2)
𝑀𝑀𝑚𝑖𝑠𝑡 = ∑𝑁𝐶
𝐾=1 𝑥𝑘 𝑀𝑀𝑘 (1.2)
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.
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.30 - Tabela dinâmica - relatório de venda anual de uma rede de lojas.
36
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
1.9 GRÁFICOS
1.9.1 Bidimensionais
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.
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
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
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.
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.
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
𝑧 = 𝑆𝑒𝑛(𝑥 2 + 𝑦 2 ) (1.3)
superfície. Perceba que não foram selecionados os valores das variáveis independentes!
Ao realizar esses comandos, o seguinte gráfico será plotado:
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.
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.53 - Gráfico da figura 1.51 sob diferente perspectiva (Rotação X: 40º; Rotação y: 50º;
perspectiva: 40º
50
𝑛
𝜌 = 𝐴 ∙ 𝐵 −(1−𝑇/𝐶) (2.1)
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
Passo 1: Selecione os dados a serem importados (Figura 2.4) e os copie (“Crtl + C”).
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á:
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”.
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.
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
Passo 4: Clique em “OK” e volte para a planilha com a lista de dados importada da seção
passada.
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
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:
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”.
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
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.
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.28 – Caixa de diálogo “Personalizar AutoFiltro” para o primeiro critério de filtragem.
Figura 2.30 - Caixa de diálogo “Personalizar AutoFiltro” para o segundo critério de filtragem.
70
Figura 2.32 - Caixa de diálogo “Personalizar AutoFiltro” para o terceiro critério de filtragem.
71
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.
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
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
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
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)
𝑅
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)
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
𝑇 𝐵
∆𝐻 = ∫𝑇 𝑓 𝐶𝑝 𝑑𝑇 = 𝑅 [𝐴(𝑇𝑓 − 𝑇𝑖 ) + 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:
𝑄 0,4∙106
∆𝐻 = = = 16.000 (Btu) (lb mol)-1 (3.4)
𝑛 25
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
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.
𝑄
𝑓𝑜𝑏𝑗 = ∆𝐻 − 𝑛 (3.7)
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 𝑇𝑓 )
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:
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.
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.
3.2 O SOLVER
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.
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
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/𝑉𝑚 :
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.
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.
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”.
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).
Figura 3.19 – Caixa de diálogo “Parâmetros do Solver” para o cálculo da equação do Virial.
90
Figura 3.20 – Aviso no caso de não ter o recurso “Solver” instalado no ambiente VBA.
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.
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
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.26 – Comportamento do volume molar com a pressão para o gás metano utilizando a
equação do virial.
93
Feito isto, o usuário terá aberto o ambiente VBE (do inglês Visual Basic Editor),
ilustrado a seguir:
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.)
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
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).
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
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:
4.3.2 Tipos
Espaço Dados
Tipo Intervalo
ocupado armazenados
*p.ex.: Pastas de trabalho, planilhas eletrônica, intervalo de células, etc.
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
LOCAIS AO PROCEDIMENTO
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:
*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
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
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
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
4.3.6 Matrizes
LOCAIS AO PROCEDIMENTO
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
GLOBAL
Nome_Variavel = Valor*
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:
*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
Nome_Vetor(Numero_Posicao) = Valor
Nome_Vetor(Numero_Posicao) = “Valor”
106
4.4.3 Matrizes
4.5 PROCEDIMENTOS
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
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:
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).
4.5.2 Funções
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.
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.
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.
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
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.
4.6.1 If...Then
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
If (Condição) Then
Else
End If
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
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
If (Condição 1) Then
ElseIf(Condição 2) Then
Else
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
SOLUÇÃO
Para resolver este problema, foi utilizado o seguinte código:
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
End If
End If
ATIVIDADE DIDÁTICA
SOLUÇÃO
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
Select Case X
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.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 é:
Next
ATIVIDADE DIDÁTICA
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
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
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:
Nome_Variável = NomePlanilha.Cells(Rows.Count,
1).End(xlUp).Row
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)
Wend
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
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
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
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:
4.8.3 Do…Loop
Do While/Until (Condição)
Loop
132
Do
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”.
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.
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”:
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:
CAPÍTULO 5 APLICAÇÕES
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
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
RESPONDA
RESOLUÇÃO
a)
O balanço material por componente para o sistema global é dado pelo seguinte
sistema de equações:
O sistema de equação formado pelas Equações (5.1) – (5.4) podem ser escritos na forma
matricial, como mostrado a seguir:
143
Figura 5.8 – Planilha para a resolução do balanço sem reação em sistema estacionário.
b)
O balanço material na coluna #2 pode ser usado para determinar a corrente D, com
isso:
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.
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
CO + 2 H2 ⥨ CH3OH (5.19)
(A) (B) (C)
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)
e adicione uma Linha de Tendência Linear. Os resultados deverão ser iguais à Figura
5.12.
b)
𝑦𝐶 1
𝐾𝑝 (𝑇) = 𝑦 2 2 (5.22)
𝐴 ∙𝑦𝐵 𝑃
𝑛𝐴 𝑛 −𝜀
CO: 𝑦𝐴 = = 𝑛 𝐴0−2𝜀 (5.27)
𝑛𝑇 𝑇0
𝑛𝐵 𝑛𝐵0 −2𝜀
H2: 𝑦𝐵 = = (5.28)
𝑛𝑇 𝑛𝑇0 −2𝜀
𝑛 𝑛 +𝜀
CH3OH:𝑦𝐶 = 𝑛𝐶 = 𝑛 𝐶0−2𝜀 (5.29)
𝑇 𝑇0
𝑛
CO: 𝑦𝐴0 = 𝑛𝐴0 (5.30)
𝑇0
𝑛𝐵0
H2:𝑦𝐵0 = (5.31)
𝑛𝑇0
𝑛
CH3OH: 𝑦𝐶0 = 𝑛𝐶0 (5.32)
𝑇0
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
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
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.
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.
c)
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:
Onde:
𝑁̇𝑖,𝐸𝑁𝑇𝑅𝐴𝐷𝐴 : corrente de entrada da espécie i;
153
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
Equação de Soave-Redlich-Kwong
𝑅𝑇 𝜃
𝑃 = 𝑉−𝑏 − (5.36)
√𝑇 𝑉(𝑉+𝑏)
𝑅𝑇𝑐
𝑏 = 0,08664 (5.40)
𝑃𝑐
Equação de Peng-Robinson
154
𝑅𝑇 𝜃
𝑃 = 𝑉−𝑏 − 𝑉(𝑉+𝑏)+𝑏(𝑉−𝑏) (5.41)
𝜃 = 𝑎 ∗ 𝛼(𝑇𝑟, 𝜔) (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)
𝑃𝑉
𝑍= (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)
𝛼 = −(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
Equação de Antoine
𝐵
𝑙𝑛𝑃𝒔𝒂𝒕 = 𝐴 + 𝑇+𝐶 (5.55)
Equação DIPPR
𝐵
𝑙𝑛𝑃𝒔𝒂𝒕 = 𝐴 + 𝑇 + 𝐶𝑙𝑛𝑇 + 𝐷𝑇 𝐸 (5.56)
𝑃𝑠𝑎𝑡 1
𝑙𝑛 = 𝑇 [𝐴𝜏 + 𝐵𝜏 1,5 + 𝐶𝜏 2,5 + 𝐷𝜏 5 ] (5.57)
𝑃𝑐 𝑟
𝜏 = 1 − 𝑇𝑟 (5.58)
𝑇
𝑇𝑟 = 𝑇 (5.59)
𝑐
𝑠𝑎𝑡,𝑒𝑥𝑝 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
𝑠𝑎𝑡 −𝑃 𝑐𝑎𝑙𝑐
𝑃𝑒𝑥𝑝 𝑐𝑎𝑙𝑐
𝑒𝑟𝑟𝑜 = 100 𝑥 [ 𝑒𝑥𝑝 ] (5.61)
𝑃𝑒𝑥𝑝
𝑦𝑖 𝑃 = 𝑥𝑖 𝑃𝑖𝑠𝑎𝑡 (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
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.
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
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.