<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-322611126805012745</id><updated>2011-11-27T22:23:12.714-02:00</updated><category term='VBA'/><category term='Cálculo Dígito Verificador'/><category term='Ordenação Automática Intervalo'/><category term='Soma Contagem Condicional SOMARPRODUTO'/><category term='Intervalo Dinâmico'/><title type='text'>adilsonsoledade</title><subtitle type='html'>Compartilhando dicas e soluções relacionadas com o Microsoft Office Excel</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-8748436539944902526</id><published>2011-04-28T14:10:00.000-03:00</published><updated>2011-04-28T14:10:34.890-03:00</updated><title type='text'>Última postagem</title><content type='html'>O conteúdo deste blog foi transferido para:&amp;nbsp;&lt;a href="https://usuariosdoexcel.wordpress.com/"&gt;https://usuariosdoexcel.wordpress.com/&lt;/a&gt;.&lt;br /&gt;Lá você poderá ver além dos posts destes blog, as novas contribuições.&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-8748436539944902526?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/8748436539944902526/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=8748436539944902526' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8748436539944902526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8748436539944902526'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2011/04/ultima-postagem.html' title='Última postagem'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7639726915536995624</id><published>2010-10-01T10:32:00.000-03:00</published><updated>2010-10-01T10:32:15.480-03:00</updated><title type='text'>Dica de VBA - Eliminando valores em duplicidade</title><content type='html'>O código a seguir pode ser aplicado para eliminar valores duplicados de uma série de dados dispostos em uma coluna:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sub EliminarDuplicidades()&lt;br /&gt;Dim wf &amp;nbsp;As WorksheetFunction&lt;br /&gt;Dim rg &amp;nbsp;As Range&lt;br /&gt;Dim k &amp;nbsp; As Integer&lt;br /&gt;Dim Col As Variant&lt;br /&gt;&lt;br /&gt;'Solicitar a informação sobre a coluna que será pesquisada&lt;br /&gt;Col = Application.InputBox(Prompt:="Informe o número ou letra da coluna a ser pesquisada", _&lt;br /&gt;Title:="eliminar dados duplicados em uma coluna", Type:=3)&lt;br /&gt;&lt;br /&gt;'Atribuir o objeto Worksheetfunction à variável wf&lt;br /&gt;Set wf = Application.WorksheetFunction&lt;br /&gt;&lt;br /&gt;'Loop para percorrer as células da coluna indicada&lt;br /&gt;'O loop se inicia na última célula preenchida da coluna em direção à célula da linha 1&lt;br /&gt;For k = Cells(Rows.Count, Col).End(xlUp).Row To 1 Step -1&lt;br /&gt;&lt;br /&gt;'Se houver mais repetições do valor na coluna selecionada, a linha correspondente é apagada&lt;br /&gt;If wf.CountIf(Range(Cells(1, Col), Cells(Cells(Rows.Count, Col).End(xlUp).Row, Col)) _&lt;br /&gt;, Cells(k, Col)) &amp;gt; 1 Then Rows(k).Delete&lt;br /&gt;Next k&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7639726915536995624?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7639726915536995624/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7639726915536995624' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7639726915536995624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7639726915536995624'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/10/dica-de-vba-eliminando-valores-em.html' title='Dica de VBA - Eliminando valores em duplicidade'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-5189022631394250241</id><published>2010-09-15T22:29:00.000-03:00</published><updated>2010-09-15T22:29:02.809-03:00</updated><title type='text'>Explorando funções de texto - Parte 6</title><content type='html'>O Excel possui uma função que permite retornar o caminho completo de um arquivo salvo.&lt;br /&gt;Para isto, podemos digitar em uma célula qualquer:&amp;nbsp;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;=CÉL("filename";A1)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Mas se quisermos retornar apenas o nome da planilha, ou apenas a pasta na qual o arquivo está salvo?&lt;br /&gt;Valendo-se das funções de texto já comentadas anteriormente, podemos apresentar as seguintes soluções:&lt;br /&gt;Nome da planilha:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;=DIREITA(CÉL("filename";A1);NÚM.CARACT(CÉL("filename";A1))-LOCALIZAR("]";CÉL("filename";A1)))&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Localização do arquivo (pasta):&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;=ESQUERDA(CÉL("filename";A1);LOCALIZAR("[";CÉL("filename";A1))-1)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para quem, como eu, já teve que manter atualizados documentos do sistema de qualidade, estas funções permitem que controlemos a localização dos arquivos de forma automática, tornando o seu acesso mais rápido e disponível para os interessados.&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-5189022631394250241?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/5189022631394250241/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=5189022631394250241' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5189022631394250241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5189022631394250241'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-6.html' title='Explorando funções de texto - Parte 6'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-1634235224027085046</id><published>2010-09-13T11:14:00.000-03:00</published><updated>2010-09-13T11:14:32.328-03:00</updated><title type='text'>Explorando funções de texto - Parte 5</title><content type='html'>Depois da postagem anterior, quando utilizei uma UDF para retornar o primeiro nome e o último sobrenome, alguns amigos me perguntaram se seria possível realizar o mesmo utilizando funções nativas.&lt;br /&gt;A resposta é sim.&lt;br /&gt;Vejam abaixo como fica a fórmula matricial:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;=ESQUERDA(A1;LOCALIZAR(" ";A1))&amp;amp;DIREITA(A1;NÚM.CARACT(A1)-MÁXIMO(SE(ÉERROS(LOCALIZAR(" ";A1;LIN(INDIRETO("A1:A"&amp;amp;NÚM.CARACT(A1)))));0;LOCALIZAR(" ";A1;LIN(INDIRETO("A1:A"&amp;amp;NÚM.CARACT(A1)))))))&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PS: Para aqueles que não estão habituados a utilizar fórmulas matriciais, é necessário digitar CTRL+SHFT+ENTER após inserir a fórmula numa célula. O resultado final é exibido entre chaves ({&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Fórmula&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;})&lt;br /&gt;&lt;br /&gt;[ ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-1634235224027085046?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/1634235224027085046/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=1634235224027085046' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1634235224027085046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1634235224027085046'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-5.html' title='Explorando funções de texto - Parte 5'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-1840894802675604463</id><published>2010-09-09T21:35:00.000-03:00</published><updated>2010-09-09T21:35:48.277-03:00</updated><title type='text'>Explorando funções de texto - Parte 4</title><content type='html'>Embora tenhamos tantas funções de texto nativas no Excel, na minha opinião ainda poderíamos ter, por exemplo:&lt;br /&gt;1. Uma função para contar o número de ocorrências de uma cadeia de caracteres numa cadeia de texto;&lt;br /&gt;2. Uma função para concatenar as células de um intervalo informado como argumento da função;&lt;br /&gt;3. Uma função que retorna-se o primeiro nome e o último sobrenome de nomes de pessoas.&lt;br /&gt;&lt;br /&gt;Bem, como o Excel não possui estas funções nativas, eis minhas sugestões de UDF (User Defined Function).&lt;br /&gt;&lt;br /&gt;1. Função CONTCARACT&lt;br /&gt;O que faz: Conta o número de ocorrências de uma seqüência de caracteres em uma cadeia de texto&lt;br /&gt;Sintaxe:&lt;br /&gt;CONTCARACT(&lt;i&gt;Texto&lt;/i&gt;; &lt;i&gt;Pesquisar&lt;/i&gt;;&lt;i&gt;Tipo&lt;/i&gt;)&lt;br /&gt;&lt;b&gt;&lt;i&gt;Texto&lt;/i&gt;&lt;/b&gt;: Texto no qual a cadeia será pesquisada;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Pesquisar&lt;/i&gt;&lt;/b&gt;: Cadeia a ser pesquisada;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Tipo&lt;/i&gt;&lt;/b&gt;: FALSO (ou omitido) &amp;gt;&amp;gt; não serão diferenciadas maiúsculas e minúsculas)&lt;br /&gt;Código:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function CONTCARACT(Texto As String, Pesquisar As String, Optional Tipo As Boolean)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim i As Integer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Application.Volatile&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;For i = 1 To Len(Texto)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Select Case Tipo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;If (Mid(Texto, i, Len(Pesquisar))) = (Pesquisar) Then CONTCARACT = CONTCARACT + 1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case Else&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;If UCase(Mid(Texto, i, Len(Pesquisar))) = UCase(Pesquisar) Then CONTCARACT = CONTCARACT + 1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;End Select&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Next i&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Função&amp;nbsp;CONCATENARINTERVALO&lt;br /&gt;O que faz: Concatena todas as células de um intervalo contínuo informado.&lt;br /&gt;Sintaxe:&amp;nbsp;CONCATENARINTERVALO(&lt;i&gt;Intervalo&lt;/i&gt;)&lt;br /&gt;Código:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function CONCATENARINTERVALO(Intervalo As Range)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim Célula As Range&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Application.Volatile&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;For Each Célula In Intervalo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;CONCATENARINTERVALO = CONCATENARINTERVALO &amp;amp; Célula&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Next Célula&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;3. Função&amp;nbsp;ENCURTARNOMES&lt;br /&gt;O que faz: Exibe apenas o primeiro e o último nome de uma cadeia de texto cujos elementos são separados por espaços&lt;br /&gt;Sintaxe:&amp;nbsp;ENCURTARNOMES(&lt;b&gt;&lt;i&gt;Nome&lt;/i&gt;&lt;/b&gt;)&lt;br /&gt;Código:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function ENCURTARNOMES(Nome As String)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim PrimNome As String&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim UltNome As String&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Application.Volatile&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;PrimNome = Left(Nome, InStr(1, Nome, Space(1)) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;UltNome = Right(Nome, Len(Nome) - InStrRev(Nome, Space(1), -1))&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ENCURTARNOMES = PrimNome &amp;amp; Space(1) &amp;amp; UltNome&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;continua...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-1840894802675604463?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/1840894802675604463/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=1840894802675604463' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1840894802675604463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1840894802675604463'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-4.html' title='Explorando funções de texto - Parte 4'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7177112457851634141</id><published>2010-09-08T06:44:00.000-03:00</published><updated>2010-09-08T21:36:42.015-03:00</updated><title type='text'>Explorando funções de texto - Parte 3</title><content type='html'>11.&amp;nbsp;MAIÚSCULA()&lt;br /&gt;&lt;div class="MsoNormal"&gt;O que faz: Transforma todas as letras da cadeia de texto em suas versões maiúsculas&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel”, MAIÚSCULA(A1;9) retorna “MICROSOFT EXCEL”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;12.&amp;nbsp;MINÚSCULA()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Transforma todosas letras da cadeia de texto em suas versões minúsculas&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel”, MINÚSCULA(A1;9) retorna “microsoft excel”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;13. MOEDA()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Transforma um número em moeda (utilizando o formato corrente do computador), permitindo controlar o número de decimais exibidos.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: 5345,678, MOEDA(A1,1) retorna "R$ 5.345,7" (caso seu computador tenha a configuração padrão do windows para português)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;14. MUDAR()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Substitui parte de uma cadeia de caracteres pelo trecho informado.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;=MUDAR("Microsoft Excel 2003";17;4;2007), retorna "Microsoft Excel 2007"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;15.&amp;nbsp;NÚM.CARACT()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna o número de caracteres presentes em uma cadeia de texto.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel”, NÚM.CARACT(A1) retorna 15&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;16.&amp;nbsp;PRI.MAIÚSCULA()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Converte a primeira letra de cada palavra de uma cadeia de texto em maíscula e as demais em minúsculas&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “microsoft excel”, PRI.MAIÚSCUA(A1) retorna “Microsoft Excel”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;17. PROCURAR()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna a posição de uma cadeia de texto pesquisada em outra cadeia de texto. Diferencia maiúsculas e minúsculas&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;=PROCURAR("Excel";"Microsoft Excel") retorna o valor 11&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;18.&amp;nbsp;REPT()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Repete o caractere informado, o número de vezes determinado.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;REPT(“x”,5) retorna “xxxxx”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;19. SUBSTITUIR()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Substitui um trecho de uma cadeia de texto por outro.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;SUBSTITUIR("Microsoft Excel 2003";2003;2007), retorna "Microsoft Excel 2007&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;20. T()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna uma cadeia vazia ("") se a célula não contiver texto. Caso contenha, retorna a cadeia de texto.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;T(10) retorna ""&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;21. TEXTO()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Converte um valor em texto, exibindo-o de acordo com o formato especificado.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: 5345,678, TEXTO(A1;"#.#00") retorna '5.346"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;22. TIRAR()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Remove do texto os caracteres não imprimíveis. (OBS:&amp;nbsp;A função TIRAR foi desenvolvida para remover os 32 primeiros caracteres  não-imprimíveis no código ASCII de 7 bits (valores de 0 a 31) do texto.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: "25| ", TIRAR(A1) retorna "25"&lt;br /&gt;&lt;br /&gt;23.&amp;nbsp;VALOR()&lt;br /&gt;&lt;div class="MsoNormal"&gt;O que faz: Converte uma cadeia de caracteres que representa um valor numérico, no respectivo valor.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1 o valor “01/11/10”, =VALOR(A1) retorna 40483&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;E para completar, não podemos deixar de citar o operador "&amp;amp;" que é utilizado para concatenar cadeias de texto, da mesma forma que a função CONCATENAR.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo: Se A1: "Microsoft" e A2: "Excel", a fórmula =A1 &amp;amp; " " &amp;amp; A2, retorna "Microsoft Excel".&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[ ]s&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7177112457851634141?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7177112457851634141/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7177112457851634141' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7177112457851634141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7177112457851634141'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-3.html' title='Explorando funções de texto - Parte 3'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-101842096589570575</id><published>2010-09-07T21:32:00.000-03:00</published><updated>2010-09-07T21:32:10.123-03:00</updated><title type='text'>Explorando funções de texto - Parte 2</title><content type='html'>5. DEF.NÚM.DEC()&lt;br /&gt;O que faz: retorna uma cadeia de texto que representa o arredondamento de um número fornecido para o número de casas decimais desejadas. Podem ser exibidos, ou não, os separadores de decimais.&lt;br /&gt;Exemplo:&lt;br /&gt;Se temos em A1: 5345,678&lt;br /&gt;=DEF.NÚM.DEC(A1,1,VERDADEIRO), retorna "5345,7"&lt;br /&gt;=DEF.NÚM.DEC(A1,12,FALSO), retorna "5.345,68"&lt;br /&gt;&lt;br /&gt;6.&amp;nbsp;DIREITA()&lt;br /&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna os n caracteres mais à direita da cadeia de texto.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo: &lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel”, DIREITA(A1;5) retorna “Excel”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;7.&amp;nbsp;ESQUERDA()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna os n caracteres mais à esquerda da cadeia de texto.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo: &lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel”, ESQUERDA(A1;9) retorna “Microsoft”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;8. EXATO()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Compara duas cadeias de caracteres, diferenciados maiúsculas e minúsculas, retornando VERDADEIRO se forem iguais&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: "Excel" e em A2: "excel", EXATO(A1;A2) retorna FALSO&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;9.&amp;nbsp;EXT.TEXTO()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: Retorna um trecho da cadeia de texto a partir de uma posição inicial, com n caracteres de comprimento.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;Se temos em A1: “Microsoft Excel 2007”, EXT.TEXTO(A1;11;5) retorna “Excel”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;10. LOCALIZAR()&lt;/div&gt;&lt;div class="MsoNormal"&gt;O que faz: retorna a posição de uma cadeia de texto pesquisada, estabelecida com base no seu caractere inicial, contada da esquerda para a direita. Não diferencia maiúsculas e minúsculas&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exemplo:&lt;/div&gt;&lt;div class="MsoNormal"&gt;LOCALIZAR("Excel"; "Microsoft Excel") retorna 11&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;continua...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-101842096589570575?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/101842096589570575/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=101842096589570575' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/101842096589570575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/101842096589570575'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-2.html' title='Explorando funções de texto - Parte 2'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-25266979240864342</id><published>2010-09-03T23:07:00.000-03:00</published><updated>2010-09-03T23:07:12.900-03:00</updated><title type='text'>Explorando funções de texto - Parte 1</title><content type='html'>Já me deparei diversas vezes com usuários penando para remover "lixo" do conteúdo de células, ou gastando horas para modificar o conteúdo de linhas e mais linhas de forma a adequá-las a uma necessidade específica.&lt;br /&gt;Utilizando as funções de texto, podemos poupar bastante trabalho.&lt;br /&gt;Listaremos as funções, explicando o que realizam e colocando um exemplo de utilização.&lt;br /&gt;Inicialmente vamos explorar as funções isoladamente, para, em seguida começarmos a combiná-las de forma a criar fórmulas mais complexas.&lt;br /&gt;&lt;br /&gt;1. ARRUMAR()&lt;br /&gt;O que faz: remove os espaços excedentes de uma cadeia de texto, deixando apenas os espaços entre palavras&lt;br /&gt;Exemplo:&lt;br /&gt;Se temos em A1: " &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft &amp;nbsp; &amp;nbsp; Excel &amp;nbsp; &amp;nbsp; Versão &amp;nbsp; &amp;nbsp; &amp;nbsp;2007 &amp;nbsp; &amp;nbsp; &amp;nbsp;"&lt;br /&gt;A função =ARRUMAR(A1), retorna "Microsoft Excel Versão 2007"&lt;br /&gt;&lt;br /&gt;2. CARACT()&lt;br /&gt;O que faz: retorna o caractere correspondente ao código ASCII informado&lt;br /&gt;Exemplo:&lt;br /&gt;CARACT(65), retorna o caractere "A"&lt;br /&gt;&lt;br /&gt;3. CÓDIGO()&lt;br /&gt;O que faz: retorna o código ASCII correspondente ao primeiro caractere à esquerda de uma cadeia de texto&lt;br /&gt;Exemplo:&lt;br /&gt;CÓDIGO("A"), retorna o código 65&lt;br /&gt;&lt;br /&gt;4. CONCATENAR()&lt;br /&gt;O que faz: combina diversas cadeias de caracteres, números ou referências de células numa única cadeia.&lt;br /&gt;Exemplo:&lt;br /&gt;Sendo as células:&lt;br /&gt;A1: "Combinar"&lt;br /&gt;A2: "textos"&lt;br /&gt;CONCATENAR(A1;" ";A2), retorna a cadeia "Combinar textos"&lt;br /&gt;&lt;br /&gt;continua....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-25266979240864342?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/25266979240864342/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=25266979240864342' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/25266979240864342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/25266979240864342'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/explorando-funcoes-de-texto-parte-1.html' title='Explorando funções de texto - Parte 1'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-5503033104300508575</id><published>2010-09-02T21:30:00.000-03:00</published><updated>2010-09-02T21:30:16.880-03:00</updated><title type='text'>Utilizando eventos do Excel - Parte 3</title><content type='html'>Fechando nossos exemplos sobre uso de eventos no Excel, vamos ver exemplos utilizando os eventos do objeto Workbook.&lt;br /&gt;&lt;br /&gt;Primeiramente o evento Workbook_Open, que ativado quando o arquivo é aberto.&lt;br /&gt;No exemplo a seguir são realizadas uma série de alterações no modo em que o arquivo do Excel é exibido.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Workbook_Open()&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim Plan&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Faz que o código continue sendo executado caso ocorra um erro&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;On Error Resume Next&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Alteração dos parâmetros de exibição do Excel&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;With Application&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Ativar exibição de tela inteira&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayFullScreen = True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição da barra de fórmulas&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayFormulaBar = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição da barra de status&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayStatusBar = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Alteração dos parâmetros de exibição da janela&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;With ActiveWindow&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição dos cabeçalhos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayHeadings = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição da barra de rolagem horizontal&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayHorizontalScrollBar = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição da barra de rolagem vertical&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayVerticalScrollBar = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desativar a exibição das guias de planilha&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayWorkbookTabs = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;For Each Plan In ThisWorkbook.Worksheets&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Manter exibida apenas a planilha "Principal&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;If Plan.Name &amp;lt;&amp;gt; "Principal" Then Plan.Visible = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;É interessante desfazer as alterações que afetam o Excel (Application) quando o arquivo é fechado. Para isso podemos lançar mão do evento Workbook_BeforeClose.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Workbook_BeforeClose(Cancel As Boolean)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Faz que o código continue sendo executado caso ocorra um erro&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;On Error Resume Next&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Restauração dos parâmetros de exibição do Excel&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;With Application&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Inibir exibição de tela inteira&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayFullScreen = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Ativar a exibição da barra de fórmulas&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayFormulaBar = True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Ativar a exibição da barra de status&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.DisplayStatusBar = True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-5503033104300508575?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/5503033104300508575/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=5503033104300508575' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5503033104300508575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5503033104300508575'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/utilizando-eventos-do-excel-parte-3.html' title='Utilizando eventos do Excel - Parte 3'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-5703154431686003224</id><published>2010-09-01T23:02:00.000-03:00</published><updated>2010-09-01T23:02:08.613-03:00</updated><title type='text'>Utilizando eventos do Excel - Parte 2</title><content type='html'>Vamos ver agora outros exemplos, utilizando o evento Worksheet_Change&lt;br /&gt;&lt;br /&gt;O objetivo neste exemplo é colorir qualquer célula alterada que esteja no intervalo A1:C50 da planilha. A célula ficará colorida em vermelho com a fonte formatada para a cor branca.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Worksheet_Change(ByVal Target As Range)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgFormat As Range&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgInter &amp;nbsp;As Range&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Intervalo dentro do qual será realizada a formatação&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgFormat = ActiveSheet.[A1:C50]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'É obtida a intersecção da célula alterada com o intervalo rgFormat&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgInter = Application.Intersect(Target, rgFormat)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Se houver a intersecção, ou seja se Target pertencer ao intervalo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'rgFormat, a célula será colorida de vermelho e a fonte será&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'formatada para a cor branca&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;If Not rgInter Is Nothing Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Interior.Color = vbRed&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Font.Color = vbWhite&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No próximo exemplo, iremos colocar em letras maiúsculas qualquer valor de texto inserido nas células do intervalo A1:C50. É importante observar a utilização da linha de comando&lt;br /&gt;&lt;br /&gt;Application.EnableEvents = False&lt;br /&gt;&lt;br /&gt;Como o código altera o conteúdo da célula, é necessário que desabilitemos os eventos, pois caso contrário cria-se um loop infinito, pois a alteração dispara um novo evento.&lt;br /&gt;&lt;br /&gt;Também é importante lembrar que os eventos devem ser reabilitados antes do término da execução do código, ou poderemos afetar outras funcionalidades do arquivo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Worksheet_Change(ByVal Target As Range)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgCaps As Range&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgInter &amp;nbsp;As Range&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Intervalo dentro do qual será realizada a formatação&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgCaps = ActiveSheet.[A1:C50]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'É obtida a intersecção da célula alterada com o intervalo rgChange&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgInter = Application.Intersect(Target, rgCaps)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Se houver a intersecção, ou seja se Target pertencer ao intervalo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'rgChange, os eventos são desabilitados&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;If Not rgInter Is Nothing Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Application.EnableEvents = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Em seguida o conteúdo de Target é colocado em maiúsculas&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target = UCase(Target)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Finalmente os eventos são reabilitados&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Application.EnableEvents = True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-5703154431686003224?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/5703154431686003224/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=5703154431686003224' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5703154431686003224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5703154431686003224'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/09/utilizando-eventos-do-excel-parte-2.html' title='Utilizando eventos do Excel - Parte 2'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-3006323421388773084</id><published>2010-08-31T22:31:00.000-03:00</published><updated>2010-08-31T22:32:41.564-03:00</updated><title type='text'>Utilizando eventos do Excel - Parte 1</title><content type='html'>Primeiramente podemos conceituar um evento como a ocorrência de mudança de status de um objeto.&lt;br /&gt;Ao selecionarmos uma planilha, por exemplo, podemos capturar esta ocorrência por meio do evento&amp;nbsp;&lt;b&gt;Worksheet_Activate&lt;/b&gt;.&lt;br /&gt;Desta forma podemos controlar de que maneira uma planilha ou outro objeto se comporta quando ocorrer uma série de diferentes alterações.&lt;br /&gt;Vamos começar explorando alguns eventos de planilha.&lt;br /&gt;Para que possam ser inseridos, é necessário acessar a página de código associado à planilha. A forma mais comum é clicar com o botão direito na aba de planilha e selecionar a opção Exibir Código.&lt;br /&gt;Eis dois exemplos de códigos utilizando eventos de planilha&lt;br /&gt;&lt;br /&gt;1. Worsksheet_Activate.&lt;br /&gt;Ao selecionar a planilha, o usuário é informado sobre a forma de inserir os dados. Isto pode ser utilizado como um help simplificado.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Worksheet_Activate()&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim msg As String&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;msg = "Planilha para cálculo de juros" &amp;amp; Chr(13)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;msg = msg &amp;amp; "Informe em A1 o valor do principal." &amp;amp; Chr(13)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;msg = msg &amp;amp; "Informe em B1 o tempo de aplicação, expresso em meses" &amp;amp; Chr(13)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;msg = msg &amp;amp; "Informe em C1 a taxa de juros, expressa em % a.m."&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;MsgBox msg&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Worksheet_Change&lt;br /&gt;Ao modificar o valor de uma célula, o interior da mesma é colorido com base no &amp;nbsp;valor digitado.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Private Sub Worksheet_Change(ByVal Target As Range)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Select Case Target&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Case Is &amp;lt; 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Interior.Color = vbRed&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Case 0 To 100&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Interior.Color = vbGreen&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Case 100 To 1000&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Interior.Color = vbBlue&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Case Else&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Target.Interior.Color = xlNone&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Select&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-3006323421388773084?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/3006323421388773084/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=3006323421388773084' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/3006323421388773084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/3006323421388773084'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/utilizando-eventos-do-excel-parte-1.html' title='Utilizando eventos do Excel - Parte 1'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4403381316363930392</id><published>2010-08-30T22:50:00.000-03:00</published><updated>2010-08-31T21:56:57.505-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBA'/><title type='text'>Testando múltiplas condições em código VBA (Select Case)</title><content type='html'>Muitas vezes temos que testar inúmeras possibilidades para uma variável durante a execução de um código em VBA.&lt;br /&gt;Normalmente pensamos em construir uma estrutura do tipo If...Then...Else.&lt;br /&gt;Se o conjunto de possibilidades for relativamente pequena, a abordagem acima é de fácil implantação e interpretação, mas à medida que aumentam os testes, a estrutura tende a ficar mais complexa.&lt;br /&gt;Tomemos o seguinte exemplo: Construir uma função que estabeleça o status do fornecedor com base na nota obtida numa auditoria de qualidade, com base nos seguintes critérios:&lt;br /&gt;- Se a nota for menor que 30, o fornecedor deve ser "desqualificado"&lt;br /&gt;- Se a nota estiver entre 30 e 40, "situação crítica"&lt;br /&gt;- Se a nota estiver entre 40 e 50, "estado de alerta"&lt;br /&gt;- Se a nota estiver entre 50 e 60, "sob monitoramento"&lt;br /&gt;- Se a nota estiver entre 60 e 70, "aceitável"&lt;br /&gt;- Se a nota estiver entre 70 e 80, "bom"&lt;br /&gt;- Se a nota estiver entre 80 e 90, "muito excelente"&lt;br /&gt;- Se a for superior a 90, "excelente".&lt;br /&gt;&lt;br /&gt;Vejamos como ficaria o código, utilizando a estrutura If Then ElseIf.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function StatusNotaV1nota)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;If nota &amp;lt; 30 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "desqualificado"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 30 And nota &amp;lt; 40 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "situação crítica"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 40 And nota &amp;lt; 50 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "estado de alerta"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 50 And nota &amp;lt; 60 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "sob monitoramento"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 60 And nota &amp;lt; 70 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "aceitável"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 70 And nota &amp;lt; 80 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "bom"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 80 And nota &amp;lt; 90 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "muito bom"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;ElseIf nota &amp;gt;= 50 And nota &amp;lt; 60 Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;StatusNotaV1 = "excelente"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O código acima é completamente funcional, mas acho-o meio poluído.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vejamos como fica o mesmo código, utilizando o comando Select Case&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function StatusNotaV2(nota)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Select Case nota&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case Is &amp;lt; 30&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "desqualificado"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 30 To 39&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "situação crítica"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 40 To 50&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "estado de alerta"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 50 To 60&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "sob monitoramento"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 60 To 70&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "aceitável"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 70 To 80&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "bom"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case 80 To 90&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "muito bom"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Case Is &amp;gt; 90&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;StatusNotaV2 = "excelente"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;End Select&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O resultado é o mesmo, mas com uma estrutura mais clean.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[ ]s&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4403381316363930392?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4403381316363930392/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4403381316363930392' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4403381316363930392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4403381316363930392'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/testando-multiplas-condicoes-em-codigo.html' title='Testando múltiplas condições em código VBA (Select Case)'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7516015881757274694</id><published>2010-08-27T21:54:00.000-03:00</published><updated>2010-08-31T21:57:16.330-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBA'/><title type='text'>Executando macros em planilhas protegidas</title><content type='html'>Algumas vezes temos planilhas que estão protegidas para evitar que os usuários alterem resultados ou formatação, mas sobre as quais é necessário realizar alterações via macros.&lt;br /&gt;A solução é desproteger a planilha nos primeiros passos do código, realizar as alterações e, em seguida, tornar a protegê-la.&lt;br /&gt;Veja um exemplo de como pode ser feito:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Sub ExemploProtegerDesproteger()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Atribuição da planilha que será manipulada&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Set ws = Worksheets("Plan1")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Desproteger a planilha ws&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ws.Unprotect Password:="1234"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'...linhas de código a serem executadas&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'Proteger a planilha ws&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ws.Protect Password:="1234"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7516015881757274694?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7516015881757274694/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7516015881757274694' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7516015881757274694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7516015881757274694'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/executando-macros-em-planilhas.html' title='Executando macros em planilhas protegidas'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4970012162733947728</id><published>2010-08-26T22:37:00.000-03:00</published><updated>2010-08-27T23:00:16.308-03:00</updated><title type='text'>Determinar os n valores mais freqüentes</title><content type='html'>Se quisermos determinar o valor mais freqüente de um conjunto de dados no excel, podemos utilizar a função MODO.&lt;br /&gt;No entanto, o excel não tem nenhuma função nativa para calcular os n valores mais freqüentes.&lt;br /&gt;A partir desta necessidade, desenvolvi a função personalizada (UDF) abaixo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Option Base 1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;'Adaptado a partir de exemplo disponível em:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' http://spreadsheetpage.com/index.php/tip/identifying_unique_values_in_an_array_or_range/&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Function ItensÚnicos(ConjuntoValores As Range) As Variant&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Aceita um intervalo como input&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Application.Volatile&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim ValÚnicos() &amp;nbsp; &amp;nbsp; As Variant ' Matriz que contém os valores únicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim Elemento &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As Variant&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim Transf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As Variant&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim i &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As Integer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim j &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As Integer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Dim Correspondência As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Contador para os valores únicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;NumValÚnicos = 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Loop através da matriz ou intervalo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For Each Elemento In ConjuntoValores&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Correspondência = False&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; &amp;nbsp; &amp;nbsp; Verificar se o valor já foi inserido&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For i = 1 To NumValÚnicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Elemento = ValÚnicos(2, i) Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Correspondência = True&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For '(Saída do Loop)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;AddItem:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; &amp;nbsp; &amp;nbsp; Caso não esteja na lista, o valor é inserido na matriz&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Not Correspondência And Not IsEmpty(Elemento) Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NumValÚnicos = NumValÚnicos + 1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReDim Preserve ValÚnicos(2, NumValÚnicos)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Inserção do valor&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(2, NumValÚnicos) = Elemento&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Inserção da frequência correspondente&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(1, NumValÚnicos) = Application.WorksheetFunction.CountIf(ConjuntoValores, Elemento)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Next Elemento&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Ordenar matriz com base nas frequências&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For i = 1 To NumValÚnicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For j = i + 1 To NumValÚnicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If ValÚnicos(1, i) &amp;lt;= ValÚnicos(1, j) Then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Transf = ValÚnicos(1, j)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(1, j) = ValÚnicos(1, i)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(1, i) = Transf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next j&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Reorganizar a matriz&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For i = 1 To NumValÚnicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Transf = ValÚnicos(1, i)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(1, i) = ValÚnicos(2, i)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ValÚnicos(2, i) = Transf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;' &amp;nbsp; Atribuição de valor para a função&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ItensÚnicos = ValÚnicos&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;E&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;is aqui um exemplo de uso:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.4shared.com/file/h8WHpoUE/ContagemMltipla.html"&gt;http://www.4shared.com/file/h8WHpoUE/ContagemMltipla.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif; font-size: 10px;"&gt;&lt;span class="postbody signature" style="color: #5a775e; font-size: 11px; line-height: 1.4em; margin-bottom: 3px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4970012162733947728?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4970012162733947728/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4970012162733947728' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4970012162733947728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4970012162733947728'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/determinar-os-n-valores-mais-frequentes.html' title='Determinar os n valores mais freqüentes'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-6463716310792611483</id><published>2010-08-26T22:25:00.000-03:00</published><updated>2010-08-26T22:25:17.237-03:00</updated><title type='text'>Loop para percorrer intervalos descontínuos</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Imagine que você deseja percorrer todas as células dos intervalos A1:A100, A150:A200 e A300:A400, ocultando as linhas que não tem valores preenchidos.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Poderíamos realizar 3 loops diferentes, colocando para cada um, o intervalo de variação das linhas dos intervalos.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Mas existe uma forma mais simples.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Para isso vamos utilizar o operador Union para reunir todos os intervalos e em seguida percorrê-los de forma única.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;Sub PercorrerIntervalo()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Dim rgComposto As Range&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;Dim rg &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As Range&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Set rgComposto = Union([A1:A100],[A150:A200],[A300:A400])&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; For Each rg in rgComposto&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;If rg &amp;lt;&amp;gt; "" Then Rows(rg.Row).Hidden = False Else&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;Rows(rg.Row).Hidden = True&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; Next rg&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;End Sub&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[ ]s&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-6463716310792611483?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/6463716310792611483/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=6463716310792611483' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6463716310792611483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6463716310792611483'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/loop-para-percorrer-intervalos.html' title='Loop para percorrer intervalos descontínuos'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-8166867368269953227</id><published>2010-08-25T22:24:00.000-03:00</published><updated>2010-08-25T22:24:54.563-03:00</updated><title type='text'>Voltando à ativa.... "Transpor" valores de célula para uma coluna</title><content type='html'>Boa noite,&lt;br /&gt;Esta dúvida foi postada no fórum do Julio Battisti:&lt;br /&gt;"Tenho da célula A2 o seguinte conteúdo: '&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;119346 / 119347 / 119348 / 119349 / 119350 / 119351 / 119352 / 119353 / 119354 / 119355 / 119356'&lt;/span&gt;&amp;nbsp;.&lt;br /&gt;Como posso transferí-lo para as células de uma coluna?"&lt;br /&gt;&lt;br /&gt;Eis a solução apresentada:&lt;br /&gt;&lt;br /&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Sub TransporCélulaparaVertical()&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgOrigem &amp;nbsp; &amp;nbsp;As Range&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim rgDestino &amp;nbsp; As Range&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim n &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As Variant&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Dim i &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As Integer&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgOrigem = Application.InputBox(Prompt:="Informe a célula de origem", Type:=8)&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Set rgDestino = Application.InputBox(Prompt:="Informe a célula de destino", Type:=8)&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;arrayNomes = Split(rgOrigem.Value, "/")&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;For i = LBound(arrayNomes) To UBound(arrayNomes)&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;rgDestino.Offset(i, 0) = arrayNomes(i)&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Next i&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;É interessante observar alguns dos elementos utilizados:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;InputBox&lt;/u&gt;&lt;/b&gt;: este recurso permite interação do usuário com o código, inserindo valores ou referências que direcionam o fluxo de execução. No código acima, o InputBox foi utilizado para que sejam informadas: a célula que contém o texto a ser transferido e a célula da coluna a partir da qual será expandida.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Split&lt;/u&gt;&lt;/b&gt;: este comando permite que se "quebre" um string (cadeia de texto) a partir de um caractere de separação. Desta forma, cada um dos valores separados por "/" passa a constituir um elemento de um vetor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;LBoud &lt;/u&gt;&lt;/b&gt;e &lt;b&gt;&lt;u&gt;UBound&lt;/u&gt;&lt;/b&gt;: Quando não conhecemos o número de elementos de um vetor ou não queremos cometer erros em relação à seleção da base 0 ou 1 para numeração de seus elementos, podemos utilizar os dois comandos para garantir que um loop percorra todos os elementos do vetor.&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-8166867368269953227?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/8166867368269953227/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=8166867368269953227' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8166867368269953227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8166867368269953227'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/08/voltando-ativa-transpor-valores-de.html' title='Voltando à ativa.... &quot;Transpor&quot; valores de célula para uma coluna'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4642409775164835419</id><published>2010-02-04T23:33:00.000-02:00</published><updated>2010-02-04T23:48:27.978-02:00</updated><title type='text'>Modificando a precisão / expressão de valores no excel</title><content type='html'>Muitas vezes precisamos adequar a precisão do cálculo ou a forma de exprimirmos os resultados quando operamos com valores numéricos.&lt;br /&gt;O Excel permite várias possibilidades, que veremos em seguida.&lt;br /&gt;Para começar, digite na célula A1 de uma planilha a seguinte função: =PI(). Se a sua célula estiver com o formato numérico Geral, será exibido o valor 3,141593. Embora sejam exibidos 6 algarismos após a vírgula, o Excel trabalha internamente com 14 algarismos significativos, armazenando na sua memória o valor 3,14159265358979.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sem alterar o valor, apenas modificando a forma de exibição, podemos aumentar ou reduzir o número de algarismos à esquerda da vírgula, modificando a formatação numérica. Se aplicarmos, por exemplo, a formatação 0,00, o valor será exibido como 3,14. Quaisquer cálculos envolvendo a célula A1, utilizarão todos os algarismos significativos disponíveis.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Em algumas aplicações específicas é necessário reduzir o nível de precisão, utilizando apenas uma parcela dos algarismos significativos. Isto pode ser realizado utilizando-se diferentes funções do Excel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. ARRED(Núm, Núm_digitos). Arredonda o número informado para o número de algarismos significativos informados. Desta forma, =ARRED(A1;4), retorna o valor 3,1416. Se calcularmos a diferença =A1-ARRED(A1;4), obteremos o valor -7,34641020994076E-06, o que mostra que alteramos não apenas a forma de exibição, mas também a precisão do número.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. TRUNCAR(Núm, Núm_digitos). Trunca o número, desprezando os algarismos significativos posteriores. TRUNCAR(A1;4), retorna o valor 3,1415.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. ARREDONDAR.PARA.BAIXO(Núm, Núm_digitos). Força o arredondamento para baixo independente do algarismo posterior ao algarismo significativo. ARREDONDAR.PARA.BAIXO(A1;3), retorna o valor 3,141. Observe que não é levado em consideração o fato do próximo algarismo ser 6.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. ARREDONDAR.PARA.CIMA(Núm, Núm_digitos). Força o arredondamento para cima independente do algarismo posterior ao algarismo significativo. ARREDONDAR.PARA.CIMA(A1;2), retorna o valor 3,15. Observe que não é levado em consideração o fato do próximo algarismo ser 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. ARREDMULTB(Núm, Significância). Arredonda para o múltiplo mais próximo e menor que o valor informado em significância. A função ARREDMULTB(A1;0,03), retorna o valor 3,12.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. TETO(Núm, Significância). Arredonda para o múltiplo mais próximo e maior que o valor informado em significância. A função TETO(A1;0,03), retorna o valor 3,15.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. INT(Núm). Retorna apenas a parte inteira do número. INT(A1), retorna o valor 3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Além das fórmulas acima, é possível controlar a forma pela qual o Excel realiza os cálculos através do caminho Ferramentas &amp;gt;&amp;gt; Opções &amp;gt;&amp;gt; Cálculo, marcando-se o checkbox Precisão conforme exibido. Com esta opção ativa apenas serão utilizado para os cálculos, os algarismos significativos exibidos pela formatação das células.&lt;br /&gt;&lt;br /&gt;Abraços e até a próxima.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4642409775164835419?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4642409775164835419/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4642409775164835419' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4642409775164835419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4642409775164835419'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/02/modificando-precisao-expressao-de.html' title='Modificando a precisão / expressão de valores no excel'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-2150158699213401229</id><published>2010-01-24T16:41:00.000-02:00</published><updated>2010-01-26T23:05:56.329-02:00</updated><title type='text'>Criando um gráfico de colunas com cores condicionais</title><content type='html'>Já precisou criar um gráfico de barras de forma que os valores acima de 5% sejam da cor verde e abaixo deste valor da cor vermelha?&lt;br /&gt;Eis um passo a passo para construí-lo:&lt;br /&gt;1. Vamos criar uma série de dados hipotéticos referentes aos valores mensais e estabelecer o valor de 5% como a meta a ser alcançada.&lt;br /&gt;O resultado final seria algo como este aqui:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_s5pML7s0QoM/S1UPW5KwmBI/AAAAAAAAACI/9nVgLRE6IoI/s1600-h/GrafCond1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_s5pML7s0QoM/S1UPW5KwmBI/AAAAAAAAACI/9nVgLRE6IoI/s320/GrafCond1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Vamos agora criar as fórmulas de forma que os valores maiores ou iguais à meta estejam numa coluna e os valores abaixo da meta estejam em outra.&lt;br /&gt;A imagem a seguir mostra como ficariam as fórmulas:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_s5pML7s0QoM/S1UP1NSHpMI/AAAAAAAAACQ/vMjAso0ZB4I/s1600-h/GrafCond2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_s5pML7s0QoM/S1UP1NSHpMI/AAAAAAAAACQ/vMjAso0ZB4I/s320/GrafCond2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Agora podemos inserir o gráfico de colunas, a partir do intervalo com os dados. No nosso exemplo, A2:E9.&lt;br /&gt;Vejamos o resultado:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_s5pML7s0QoM/S1yRXnXi1iI/AAAAAAAAACg/NRXgr4Hy79U/s1600-h/GrafCond3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_s5pML7s0QoM/S1yRXnXi1iI/AAAAAAAAACg/NRXgr4Hy79U/s320/GrafCond3.jpg" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_s5pML7s0QoM/S1yRXnXi1iI/AAAAAAAAACg/NRXgr4Hy79U/s1600-h/GrafCond3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Eliminando as colunas correspondentes a valores e meta, o gráfico assume esta aparência:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_s5pML7s0QoM/S1ySPMdfwcI/AAAAAAAAACo/DMnADYUt1-c/s1600-h/GrafCond4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_s5pML7s0QoM/S1ySPMdfwcI/AAAAAAAAACo/DMnADYUt1-c/s320/GrafCond4.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Ajustando a sobreposição das séries para 100% e mais um pequeno ajuste nas cores das séries, chegamos ao formato final:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_s5pML7s0QoM/S1yUK0b7WkI/AAAAAAAAACw/m3zodS4dhCI/s1600-h/GrafCond5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_s5pML7s0QoM/S1yUK0b7WkI/AAAAAAAAACw/m3zodS4dhCI/s320/GrafCond5.jpg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_s5pML7s0QoM/S1yUK0b7WkI/AAAAAAAAACw/m3zodS4dhCI/s1600-h/GrafCond5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_s5pML7s0QoM/S1yUK0b7WkI/AAAAAAAAACw/m3zodS4dhCI/s1600-h/GrafCond5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para quem desejar ver o exemplo pronto, eis o link:&amp;nbsp;&lt;a href="http://www.4shared.com/file/208417011/9cc69439/_4__Graf_Condicional.html"&gt;Gráfico_Condicional.xls&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;[ ]s&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-2150158699213401229?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/2150158699213401229/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=2150158699213401229' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/2150158699213401229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/2150158699213401229'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/01/criando-um-grafico-de-colunas-com-cores.html' title='Criando um gráfico de colunas com cores condicionais'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_s5pML7s0QoM/S1UPW5KwmBI/AAAAAAAAACI/9nVgLRE6IoI/s72-c/GrafCond1.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7357073590891709285</id><published>2010-01-05T22:52:00.000-02:00</published><updated>2010-01-05T22:52:43.337-02:00</updated><title type='text'>Validação avançada de dados - Excel 2007</title><content type='html'>Para aqueles que desejam montar uma validação de dados, de forma que os dados de uma lista sejam condicionados com base em seleções anteriores, eis um excelente artigo de autoria do Robert Martin:&amp;nbsp;&lt;a href="http://www.wordpower.com.br/post/Validacao-de-Dados-Excel-2007.aspx"&gt;&lt;/a&gt;&lt;a href="http://www.wordpower.com.br/post/Validacao-de-Dados-Excel-2007.aspx"&gt;Leia aqui&lt;/a&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7357073590891709285?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7357073590891709285/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7357073590891709285' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7357073590891709285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7357073590891709285'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2010/01/validacao-avancada-de-dados-excel-2007.html' title='Validação avançada de dados - Excel 2007'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-8849594719973207408</id><published>2009-12-28T20:30:00.001-02:00</published><updated>2009-12-28T20:36:51.139-02:00</updated><title type='text'>Trabalhando com tempo no Excel - Parte II</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Na Parte 1 deste texto, vimos como o Excel interpreta e trabalha com o tempo. Vimos também como realizar operações básicas envolvendo datas.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Agora daremos continuidade, vendo formas de utilização das funções de tempo disponíveis no Excel, agrupadas como funções de data e hora.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Lista das funções (extraído do help do Excel)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;table border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" class="" id="nikm" style="border-collapse: collapse; line-height: inherit;"&gt;&lt;tbody&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DATA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série de uma data específica&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DATA.VALOR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte uma data na forma de texto para um número de série&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DIA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um dia do mês&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DIAS360&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Calcula o número de dias entre duas datas com base em um ano de 360 dias&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DATAM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;FIMMÊS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;HORA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em uma hora&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MINUTO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um minuto&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MÊS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um mês&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DIATRABALHOTOTAL&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de dias úteis inteiros entre duas datas&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;AGORA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série seqüencial da data e hora atuais&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;SEGUNDO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um segundo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;HORA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série de uma hora específica&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;VALOR.TEMPO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um horário na forma de texto para um número de série&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;HOJE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série da data de hoje&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DIA.DA.SEMANA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um dia da semana&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;NÚMSEMANA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um número que representa onde a semana cai numericamente em um ano&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DIATRABALHO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna o número de série da data antes ou depois de um número específico de dias úteis&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgodd" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;ANO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Converte um número de série em um ano&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;FRAÇÃOANO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Retorna a fração do ano que representa o número de dias entre data_inicial e data_final&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Além destas, é importante lembrar da existência da função:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;table border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" class="" id="u8hk" style="border-collapse: collapse; line-height: inherit;"&gt;&lt;tbody&gt;&lt;tr class="trbgeven" style="text-align: left;"&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;DATADIF &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="left" class="noborder" valign="top"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Calcula o número de dias, mês ou anos entre duas datas. Essa função é fornecida por compatibilidade com o Lotus 1-2-3.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-8849594719973207408?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/8849594719973207408/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=8849594719973207408' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8849594719973207408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8849594719973207408'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/trabalhando-com-tempo-no-excel-parte-2.html' title='Trabalhando com tempo no Excel - Parte II'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-8330889437199521503</id><published>2009-12-19T23:37:00.000-02:00</published><updated>2009-12-20T23:47:01.267-02:00</updated><title type='text'>Trabalhando com tempo no Excel - Parte I</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;1. Como o Excel interpreta o transcorrer do tempo?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Toda contagem de tempo é relativa. Contamos sempre o tempo transcorrido entre dois momentos, em outras palavras, avariamos a duração de um dado evento. Tendo isso em mente, foi estabelecido para o Excel que o momento t = 0, ocorreu exatamente à zero hora do dia 1º de janeiro de 1900 (&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;00:00&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;01/01/1900). Cada dia contado a partir desta data representa uma unidade de tempo. Se digitarmos uma data no Excel, como, por exemplo, 13/12/2009 e modificarmos a formatação para número com separador de milhares (#.##0) veremos o valor 40.160. Isto significa que se passaram 40.160 dias desde o dia 01/01/1900 até o dia 13/12/2009.&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Compreendido então, que a unidade fundamental de marcação de tempo é o dia, deduzimos então que 1 hora é representada pela fração 1/24, 1 minuto pela fração (1/1.440) e 1 segundo, por (1/86.400)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;2.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;Operações fundamentais com unidades de tempo&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;SOMA :&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; Podemos adicionar, por exemplo, o número de dias a uma determinada data para calcular uma data futura.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Ex: Sabendo que a validade da água mineral é de 180 dias, para calcular a data de validade de uma garrafa produzida em 23/02/2009, basta realizar a operação 23/02/2009 + 180. Ou não?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Neste ponto, surgem alguns detalhes cruciais e que devem ser compreendidos para obter os resultados desejados no Excel.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Se em uma célula colocarmos diretamente a expressão =23/02/2009 + 180, obteremos como resultado o valor 180,0057.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Obviamente não é isto que desejamos....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Mas por que o Excel errou o cálculo?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Conforme comentado anteriormente, a exibição de um número na forma de data é uma questão de formatação. Por outro lado, a célula possui um identificador de fórmula como o sinal de igual (=) ou de soma (+), as barras são interpretadas como operadores de divisão. Resumindo, a expressão =23/02/2009 + 180 é equivalente a =23&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;dividido por&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;2&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;dividido por&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;2009&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;somado a&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;180.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Desta forma, ao realizarmos operações envolvendo datas, a melhor forma é separar as parcelas em diferentes células.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Poderíamos, por exemplo, colocar em A1 a data 23/02/2009, em A2 a quantidade de dias a serem somados, 180 e em A3 a fórmula =A1+A2, obtendo o resultado 22/08/2009.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Mas, e se, ainda assim, estivermos determinados em somar data e número numa mesma célula, é possível?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;A resposta é sim. O truque é colocar a data entre aspas. Ficaria assim = "23/02/2009" + 180.&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;SUBTRAÇÃO:&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; As duas formas mais comuns de subtração envolvendo data são: i) Subtrair um determinado número de dias de uma data, ou ii) Determinar a quantidade de dias entre duas datas.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;i) Para este caso, são válidas as mesmas regras e observações comentadas sobre a operação de soma.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;ii) Caso desejemos determinar esta quantidade basta subtrairmos a data menor da data maior. O mais normal é colocarmos cada data em uma célula e utilizar uma terceira célula para inserirmos a função de subtração. Também é possível obter o resultado utilizando o truque, já comentado, de utilizar data como texto no interior da célula.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Até a próxima&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-8330889437199521503?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/8330889437199521503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=8330889437199521503' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8330889437199521503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/8330889437199521503'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/trabalhando-com-variaveis-de-tempo-no.html' title='Trabalhando com tempo no Excel - Parte I'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-5799382036446171769</id><published>2009-12-13T23:23:00.000-02:00</published><updated>2009-12-13T23:23:45.954-02:00</updated><title type='text'>Excel 2010 - Primeiras impressões</title><content type='html'>Este final de semana, realizei a instalação do pacote Office 2010, versão Beta.&lt;br /&gt;À primeira vista, o layout é basicamente o mesmo da versão 2007, tendo sido preservada a mesma disposição do Ribbon.&lt;br /&gt;O que me chamou logo a atenção, foi a substituição do botão do Office (canto superior esquerdo), pela aba File &amp;nbsp;por meio da qual é possível acessar as propriedades do arquivo e alterar propriedades do próprio excel.&lt;br /&gt;Ao acessar esta opção fui surpreendido por uma seção: Customize Ribbon. Será que poderemos agora &amp;nbsp;personalizar o Ribbon sem ter que lançar mão de XML?&lt;br /&gt;Continuando este overview, é possível observar na aba Insert, um botão chamado Screenshot, duas novas seções: Sparline e Slicer, e um novo botão para inserção de Equações.&lt;br /&gt;Não há outras alterações de interface visíveis.&lt;br /&gt;&lt;br /&gt;Feita esta visão inicial, estarei , em breve, analisando as novas funcionalidades descritas acima.&lt;br /&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-5799382036446171769?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/5799382036446171769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=5799382036446171769' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5799382036446171769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5799382036446171769'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/excel-2010-primeiras-impressoes.html' title='Excel 2010 - Primeiras impressões'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-6052598934252618505</id><published>2009-12-10T22:58:00.000-02:00</published><updated>2009-12-10T23:01:25.493-02:00</updated><title type='text'>PROCV Turbinado - Funções personalizadas</title><content type='html'>Criei estas duas funções para atender à limitação do PROCV de só exibir a primeira ocorrência de um valor procurado.&lt;br /&gt;A função PROCVMÚLTIPLO(&lt;i&gt;NomePesquisa&lt;/i&gt;; &lt;i&gt;IntervaloPesquisa&lt;/i&gt;; &lt;i&gt;IntervaloRetorno&lt;/i&gt;)&amp;nbsp;pesquisa um valor num intervalo e retorna todas as ocorrências correspondentes num outro intervalo informado, separadas por ponto e vírgula.&lt;br /&gt;Código:&lt;br /&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: small;"&gt;Function PROCVMÚLTIPLO(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range) As String&lt;br /&gt;Dim Valor, Nome&lt;br /&gt;Dim k As Integer&lt;br /&gt;Application.Volatile&lt;br /&gt;k = 1&lt;br /&gt;For Each Nome In IntervaloPesquisa&lt;br /&gt;If Nome = NomePesquisa Then&lt;br /&gt;Valor = IntervaloRetorno(k, 1)&lt;br /&gt;PROCVMÚLTIPLO = PROCVMÚLTIPLO &amp;amp; Valor &amp;amp; "; "&lt;br /&gt;End If&lt;br /&gt;k = k + 1&lt;br /&gt;Next Nome&lt;br /&gt;PROCVMÚLTIPLO = Left(PROCVMÚLTIPLO, Len(PROCVMÚLTIPLO) - 2)&lt;br /&gt;End Function&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Já a função PROCVVÁRIOS(&lt;i&gt;NomePesquisa&lt;/i&gt;;&amp;nbsp;&lt;i&gt;IntervaloPesquisa&lt;/i&gt;;&amp;nbsp;&lt;i&gt;IntervaloRetorno;Ocorrencia)&lt;/i&gt;&amp;nbsp;utiliza um argumento adicional para determinar o nº da ocorrência correspondente.&lt;br /&gt;Código:&lt;br /&gt;&lt;code&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: blue;"&gt;Function PROCVVARIOS(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range, Ocorrencia As Integer)&lt;br /&gt;Dim Nome&lt;br /&gt;Dim k As Integer, i As Integer&lt;br /&gt;Application.Volatile&lt;br /&gt;k = 1&lt;br /&gt;i = 1&lt;br /&gt;For Each Nome In IntervaloPesquisa&lt;br /&gt;If Nome = NomePesquisa Then&lt;br /&gt;If k = Ocorrencia Then PROCVVARIOS = IntervaloRetorno(i, 1)&lt;br /&gt;k = k + 1&lt;br /&gt;End If&lt;br /&gt;i = i + 1&lt;br /&gt;Next Nome&lt;br /&gt;End Function&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;No arquivo &lt;a href="http://www.4shared.com/file/48986959/df31f053/PROCV_MULT.html"&gt;PROCV_MULT.XLS&lt;/a&gt;&lt;/span&gt;&lt;span style="-webkit-border-horizontal-spacing: 8px; -webkit-border-vertical-spacing: 8px; font-size: 16px; white-space: pre;"&gt;&lt;span style="font-family: inherit;"&gt; é possível visualizar detalhadamente a utilização dos códigos.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 8px; -webkit-border-vertical-spacing: 8px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 8px; -webkit-border-vertical-spacing: 8px; white-space: pre;"&gt;Abraços&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-6052598934252618505?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/6052598934252618505/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=6052598934252618505' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6052598934252618505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6052598934252618505'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/procv-turbinado-funcoes-personalizadas.html' title='PROCV Turbinado - Funções personalizadas'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-5159951114916203822</id><published>2009-12-10T22:36:00.000-02:00</published><updated>2009-12-10T22:36:58.568-02:00</updated><title type='text'>Códigos para realizar ordenação de vetores</title><content type='html'>Seguem abaixo dois códigos que realizam a ordenação de vetores, transferidos a partir de outras rotinas:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Courier New', Courier, mono; font-size: 12px; line-height: 16px; white-space: pre;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Function OrdenarCrescente(Vetor)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim k As Long&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim i As Long&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim Aux As Variant&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;For k = LBound(Vetor) To UBound(Vetor)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For i = LBound(Vetor) To UBound(Vetor) - 1&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Vetor(i) &amp;gt; Vetor(i + 1) Then&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Aux = Vetor(i)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vetor(i) = Vetor(i + 1)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vetor(i + 1) = Aux&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Next k&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;End Function&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Function OrdenarDecrescente(Vetor)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim k As Long&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim i As Long&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Dim Aux As Variant&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;For k = LBound(Vetor) To UBound(Vetor)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For i = LBound(Vetor) To UBound(Vetor) - 1&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Vetor(i) &amp;lt; Vetor(i + 1) Then&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Aux = Vetor(i)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vetor(i) = Vetor(i + 1)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vetor(i + 1) = Aux&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Next k&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;End Function&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;[ ]s&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-5159951114916203822?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/5159951114916203822/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=5159951114916203822' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5159951114916203822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/5159951114916203822'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/codigos-para-realizar-ordenacao-de.html' title='Códigos para realizar ordenação de vetores'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7215431542295342571</id><published>2009-12-10T21:40:00.000-02:00</published><updated>2009-12-10T21:46:16.549-02:00</updated><title type='text'>Código para pesquisar um valor em todas as planilhas de um arquivo</title><content type='html'>O exemplo de código abaixo, permite realizar a pesquisa de um determinado valor em todas as planilhas da pasta de trabalho:&lt;br /&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sub PesquisaremVáriasPlanilhas1()&lt;br /&gt;Dim ws&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Worksheet&lt;br /&gt;Dim Pesquisa&amp;nbsp;&amp;nbsp;&amp;nbsp; As Variant&lt;br /&gt;Dim c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Variant&lt;br /&gt;Dim Mensagem&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;br /&gt;Dim k&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pesquisa = Application.InputBox("Informe valor a ser pesquisado.", "Valor para pesquisa.")&lt;br /&gt;k = 0&lt;br /&gt;For Each ws In ThisWorkbook.Worksheets&lt;br /&gt;With ws.Cells&lt;br /&gt;Set c = .Find(Pesquisa, LookIn:=xlValues)&lt;br /&gt;If Not c Is Nothing Then&lt;br /&gt;firstAddress = c.Address&lt;br /&gt;Do&lt;br /&gt;Mensagem = Mensagem &amp;amp; c.Address &amp;amp; vbTab &amp;amp; ws.Name &amp;amp; vbLf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;k = k + 1&lt;br /&gt;Set c = .FindNext(c)&lt;br /&gt;Loop While Not c Is Nothing And c.Address &amp;lt;&amp;gt; firstAddress&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;End If&lt;br /&gt;&amp;nbsp;End With&lt;br /&gt;Next ws&lt;br /&gt;If k = 0 Then&lt;br /&gt;MsgBox "Não foram encontradas ocorrências do valor ''" &amp;amp; Pesquisa &amp;amp; "'' nas planilhas desta pasta de trabalho."&lt;br /&gt;Else&lt;br /&gt;MsgBox "O valor pesquisado : ''" &amp;amp; Pesquisa &amp;amp; "'', foi localizado em :" &amp;amp; vbLf &amp;amp; Mensagem&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7215431542295342571?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7215431542295342571/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7215431542295342571' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7215431542295342571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7215431542295342571'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/12/codigo-para-pesquisar-um-valor-em-todas.html' title='Código para pesquisar um valor em todas as planilhas de um arquivo'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-2733799380140319852</id><published>2009-11-27T00:08:00.000-02:00</published><updated>2009-11-28T22:25:47.316-02:00</updated><title type='text'>Criando fórmulas que verifiquem múltiplas condições</title><content type='html'>É comum utilizarmos a função SE para retornarmos um valor ou executarmos uma operação tomando como base o atendimento ou não de determinadas condições.&lt;br /&gt;Podemos por exemplo definir a fórmula =SE(A1&amp;gt;=7;"Aprovado";"Reprovado") para definirmos com base na nota digitada na célula A1 se um aluno foi aprovado ou reprovado.&lt;br /&gt;Poderíamos aumentar a complexidade, criando conceitos baseados no valor da nota: =SE(B8&amp;gt;=9;"Excelente";"")&amp;amp;SE(E(B8&amp;lt;9;B8&amp;gt;=8);"Muito bom";"")&amp;amp;SE(E(B8&amp;lt;8;B8&amp;gt;=7);"Bom";"")&amp;amp;SE(E(B8&amp;lt;7;B8&amp;gt;=6);"Regular";"")&amp;amp;SE(E(B8&amp;lt;6;B8&amp;gt;=5);"Fraco";"")&amp;amp;SE(E(B8&amp;lt;5;B8&amp;gt;=4);"Muito fraco";"")&amp;amp;SE(E(B8&amp;lt;4;B8&amp;gt;=3);"Ruim";"")&amp;amp;SE(E(B8&amp;lt;3;B8&amp;gt;=2);"Muito Ruim";"")&amp;amp;SE(B8&amp;lt;2;"Péssimo";"").&lt;br /&gt;Desta forma, se a nota for 8,3, será atribuído o conceito "Muito bom".&lt;br /&gt;Embora solucione a questão da atribuição dos conceitos a fórmula é muito extensa e pouco flexível caso desejemos revisar os intervalos de definição de cada conceito.&lt;br /&gt;Para obter a mesma resposta de forma mais simples, lançaremos mão da função PROCV.&lt;br /&gt;Vamos construir a seguinte tabela para parametrizar a fórmula:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;        &lt;td&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;A &lt;br /&gt;&lt;/td&gt; &lt;td style="text-align: center;"&gt;B &lt;br /&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;C &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;1&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;&lt;span style="color: blue;"&gt;Inferior&lt;/span&gt; &lt;br /&gt;&lt;/td&gt; &lt;td style="color: blue;"&gt;Superior &lt;br /&gt;&lt;/td&gt;  &lt;td style="color: blue;"&gt;Conceito &lt;br /&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;2&lt;br /&gt;&lt;/td&gt; &lt;td&gt;0&lt;br /&gt;&lt;/td&gt; &lt;td&gt;2&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Péssimo&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;3&lt;br /&gt;&lt;/td&gt; &lt;td&gt;2&lt;br /&gt;&lt;/td&gt; &lt;td&gt;3&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Muito ruim&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;4&lt;br /&gt;&lt;/td&gt; &lt;td&gt;3&lt;br /&gt;&lt;/td&gt; &lt;td&gt;4&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Ruim&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;5&lt;br /&gt;&lt;/td&gt; &lt;td&gt;4&lt;br /&gt;&lt;/td&gt; &lt;td&gt;5&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Muito fraco&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;6&lt;br /&gt;&lt;/td&gt; &lt;td&gt;5&lt;br /&gt;&lt;/td&gt; &lt;td&gt;6&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Fraco&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;7&lt;br /&gt;&lt;/td&gt; &lt;td&gt;6&lt;br /&gt;&lt;/td&gt; &lt;td&gt;7&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Regular&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;8&lt;br /&gt;&lt;/td&gt; &lt;td&gt;7&lt;br /&gt;&lt;/td&gt; &lt;td&gt;8&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Bom&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;9&lt;br /&gt;&lt;/td&gt; &lt;td&gt;8&lt;br /&gt;&lt;/td&gt; &lt;td&gt;9&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Muito bom&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;10&lt;br /&gt;&lt;/td&gt; &lt;td&gt;9&lt;br /&gt;&lt;/td&gt; &lt;td&gt;10&lt;br /&gt;&lt;/td&gt; &lt;td&gt;Excelente&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Agora colocando o valor da nota na célula A12 e construir a fórmula: =PROCV(A12;$A$2:$C$10;3;VERDADEIRO).&lt;br /&gt;&lt;br /&gt;Comentários:&lt;br /&gt;- O uso do PROCV pode substituir a necessidade de fórmulas complexas para cobrir múltiplas condições&lt;br /&gt;- Além da simplicidade da fórmula resultante, esta abordagem permite uma rápida reconfiguração de valores, bastando para isso alterar os parâmetros diretamente na tabela.&lt;br /&gt;&lt;br /&gt;________________________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-2733799380140319852?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/2733799380140319852/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=2733799380140319852' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/2733799380140319852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/2733799380140319852'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/criando-formulas-que-atendam-multiplas.html' title='Criando fórmulas que verifiquem múltiplas condições'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-34445449527434353</id><published>2009-11-26T22:54:00.000-02:00</published><updated>2009-11-26T22:54:20.590-02:00</updated><title type='text'>Identificando o caminho e o nome do arquivo</title><content type='html'>Quando temos que imprimir documentos feitos no excel, é interessante identificarmos onde o arquivo se encontra armazenado, para facilitar a localização por outros usuários.&lt;br /&gt;Quem trabalha com diversos formulários e precisa atender a requisitos de sistemas de certificação, sabe da necessidade de manter os seus registros sempre rastreáveis e acessíveis.&lt;br /&gt;A forma mais simples de fazê-lo é utilizando a fórmula =CÉL("filename";A1), que pode ser digitada em qualquer célula da planilha do arquivo a ser identificado.&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-34445449527434353?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/34445449527434353/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=34445449527434353' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/34445449527434353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/34445449527434353'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/identificando-o-caminho-e-o-nome-do.html' title='Identificando o caminho e o nome do arquivo'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4996677165175148849</id><published>2009-11-25T16:47:00.000-02:00</published><updated>2009-11-27T00:09:42.915-02:00</updated><title type='text'>Função para contar ocorrências de uma palavra num intervalo</title><content type='html'>O exemplo abaixo de UDF (Função Definida pelo Usuário), permite com que sejam contadas ocorrências de uma palavra no conjunto de todas as células fornecidas de um intervalo:&lt;br /&gt;&lt;div style="color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: blue; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;Function CONTARPALAVRAS(Intervalo As Range, Palavra As String) As Long&lt;br /&gt;'Declarar variáveis&lt;br /&gt;Dim Célula&amp;nbsp; As Range&lt;br /&gt;Dim i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;br /&gt;'Zerar a contagem&lt;br /&gt;CONTARPALAVRAS = 0&lt;br /&gt;'Percorrer todas as células do intervalo&lt;br /&gt;For Each Célula In Intervalo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Percorrer todos os caracteres da célula&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To Len(Célula)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Fazer a comparação sem diferenciar maiúsculas e minúsculas&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If UCase(Mid(Célula, i, Len(Palavra))) = UCase(Palavra) Then CONTARPALAVRAS = CONTARPALAVRAS + 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;Next Célula&lt;br /&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;[ ]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4996677165175148849?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4996677165175148849/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4996677165175148849' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4996677165175148849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4996677165175148849'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/funcao-para-contar-ocorrencias-de-uma.html' title='Função para contar ocorrências de uma palavra num intervalo'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-665966379080036283</id><published>2009-11-21T22:20:00.000-02:00</published><updated>2009-11-21T22:26:22.032-02:00</updated><title type='text'>Tabela Dinâmica com Intervalo Dinâmico</title><content type='html'>Quem trabalha ou já trabalhou com tabelas dinâmicas (TD) sabe o quanto esta ferramenta é poderosa para criação e análise de resumos de dados.&lt;br /&gt;Também já deve ter passado pela tarefa de ao acrescentar novos registros ou uma nova coluna à base de dados, ter que redefinir o intervalo de dados utilizado para a construção da TD.&lt;br /&gt;Para evitar este trabalho, é possível utilizar um intervalo dinâmico de forma bem simples para servir de fonte de informações para a TD.&lt;br /&gt;Vamos imaginar que os dados estejam na Plan1 de um arquivo, com os cabeçalhos ocupando a linha 1.&lt;br /&gt;Podemos definir o intervalo dinâmico com o nome de FonteDadosTD, com a seguinte referência:&lt;span style="background-color: white;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: #cc0000;"&gt;=DESLOC(Dados!$A$1;0;0;CONT.VALORES(Dados!$A:$A);CONT.VALORES(Dados!$1:$1)).&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b style="background-color: #fff2cc; color: red;"&gt;&lt;/b&gt;&lt;br /&gt;Agora ao contruirmos a TD, no primeiro passo do tutorial, quando é informado o intervalo de dados, pressiona-se F3 e seleciona-se o nome (FonteDadosTD, no exemplo).&lt;br /&gt;Pronto. Agora para novas colunas ou linhas sejam adicionadas TD, basta clicar em Atualizar Dados.&lt;br /&gt;&lt;br /&gt;Abraços&lt;br /&gt;&lt;br /&gt;_________________________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-665966379080036283?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/665966379080036283/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=665966379080036283' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/665966379080036283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/665966379080036283'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/tabela-dinamica-com-intervalo-dinamico.html' title='Tabela Dinâmica com Intervalo Dinâmico'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4929637587907021022</id><published>2009-11-20T11:17:00.000-02:00</published><updated>2009-11-20T21:37:42.108-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intervalo Dinâmico'/><title type='text'>Gráficos x Intervalos Dinâmicos - Exemplo 2</title><content type='html'>Dando prosseguimento às aplicações de intervalos dinâmicos em gráficos, vamos ver um exemplo de construção de um gráfico móvel, com base nos n últimos valores de uma serie de dados.&lt;br /&gt;Crie um novo arquivo e nomeie-o como Gráfico_Móvel.&lt;br /&gt;Na Plan1, insira os valores:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;       &lt;td&gt;&lt;/td&gt;  &lt;td style="text-align: center;"&gt;A &lt;br /&gt;&lt;/td&gt;       &lt;td style="text-align: center;"&gt;B &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;1 &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="color: blue;"&gt;Rótulos&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;      &lt;td style="color: blue;"&gt;Valores &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;2&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;A &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;12 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;3 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;B &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;15 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;4 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;C &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;16 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;5 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;D &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;17 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;6 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;E &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;18 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;7 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;F &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;15 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;8 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;G &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;25 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;9&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;H &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;26 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;10 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;I&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;15 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;11&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;J &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;14 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;12&lt;br /&gt;&lt;/td&gt;       &lt;td&gt;K &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;29 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;13 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;L &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;35 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;14 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;M &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;65 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;       &lt;td&gt;15 &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;N &lt;br /&gt;&lt;/td&gt;       &lt;td&gt;25 &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Agora, defina os seguintes intervalos nomeados:&lt;br /&gt;N_Pontos; N2&lt;br /&gt;Dados_Gráfico; =DESLOC(Plan1!$A$2;CONT.VALORES(Plan1!$A:$A)-N_Pontos-1;0;N_Pontos;1)&lt;br /&gt;Rótulos_Gráfico; =DESLOC(Plan1!$B$2;CONT.VALORES(Plan1!$B:$B)-N_Pontos-1;0;N_Pontos;1)&lt;br /&gt;Insira na célula N2 o valor 14.&lt;br /&gt;Em seguida, crie um gráfico com os dados das colunas A e B.&lt;br /&gt;O resultado obtido, deve ser similar a este aqui:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_s5pML7s0QoM/SwaSl07uC_I/AAAAAAAAAB4/iVbsAPPXBvI/s1600/GrafM%C3%B3vel1.jpg" imageanchor="1" linkindex="18" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_s5pML7s0QoM/SwaSl07uC_I/AAAAAAAAAB4/iVbsAPPXBvI/s640/GrafM%C3%B3vel1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Clique na série de dados, para que apareça a “função” SÉRIES na barra de ferramentas.&lt;br /&gt;Edite a função, alterando-a de &lt;br /&gt;=SÉRIE(Plan1!$B$1;Plan1!$A$2:$A$15;Plan1!$B$2:$B$15;1) &lt;br /&gt;Para&lt;br /&gt;=SÉRIE(Plan1!$B$1;Gráfico_Móvel.xls!Rótulos_Gráfico;Gráfico_Móvel.xls!Dados_Gráfico;1)&lt;br /&gt;Na célula N4, digite a fórmula ="Gráfico com os últimos "&amp;amp;N_Pontos&amp;amp;" pontos."&lt;br /&gt;Selecione o Título do gráfico, clique na barra de fórmulas e digite =N4.&lt;br /&gt;Altere o valor de N2 para 5. O resultado deve ser parecido com este aqui:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_s5pML7s0QoM/SwaSxQiTUwI/AAAAAAAAACA/eiuOCzwidTM/s1600/GrafM%C3%B3vel2.jpg" imageanchor="1" linkindex="19" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_s5pML7s0QoM/SwaSxQiTUwI/AAAAAAAAACA/eiuOCzwidTM/s640/GrafM%C3%B3vel2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Experimente outros valores e observe como o gráfico se ajusta automaticamente.&lt;br /&gt;Comentários:&lt;br /&gt;- Você pode restringir os valores a serem digitados em N2 para evitar erros na montagem do gráfico, por meio da validação de intervalos. &lt;br /&gt;- Acesse o arquivo com o gráfico pronto, em: &lt;br /&gt;&lt;a href="http://www.4shared.com/file/37537658/e7496807/Grfico_Mvel.html" linkindex="20"&gt;http://www.4shared.com/file/37537658/e7496807/Grfico_Mvel.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;________________________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4929637587907021022?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4929637587907021022/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4929637587907021022' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4929637587907021022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4929637587907021022'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/graficos-x-intervalos-dinamicos-exemplo.html' title='Gráficos x Intervalos Dinâmicos - Exemplo 2'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_s5pML7s0QoM/SwaSl07uC_I/AAAAAAAAAB4/iVbsAPPXBvI/s72-c/GrafM%C3%B3vel1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-6304480639582071742</id><published>2009-11-19T23:01:00.000-02:00</published><updated>2009-11-20T21:45:46.469-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intervalo Dinâmico'/><title type='text'>Gráficos x Intervalos Dinâmicos - Exemplo 1</title><content type='html'>Conforme vimos no tópico sobe intervalos dinâmicos, é possível extender sua utilização para diferentes funcionalidades do Excel.&lt;br /&gt;Veremos agora uma forma de utilização em um gráfico.&lt;br /&gt;Praticamente todo usuário de excel já teve que passar pela atividade de atualizar seus gráficos de acompanhamento de algum indicador, a cada novo conjunto de dados adicionado à planilha. E provavelmente passou pelo constrangimento de descobrir que o gráfico não estava atualizado no momento em que realizava uma apresentação importante. &lt;br /&gt;O objetivo é criar um gráfico que incorpore à série plotada, novos valores à medida que são digitados, sem necessidade de adicionar os novos dados manualmente.&lt;br /&gt;Crie um novo arquivo no Excel e nomei-o como Gráfico_Intervalo_Dinamico.xls. &lt;br /&gt;Na Plan1 deste arquivo, digite os seguintes valores nas células:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;      &lt;td&gt;&lt;/td&gt; &lt;td style="text-align: center;"&gt;A&lt;br /&gt;&lt;/td&gt;      &lt;td style="text-align: center;"&gt;B &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;      &lt;td&gt;1&lt;br /&gt;&lt;/td&gt;      &lt;td&gt;&lt;span style="color: blue;"&gt;Meses&lt;/span&gt;   &lt;br /&gt;&lt;/td&gt;      &lt;td style="color: blue;"&gt;Valores &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;      &lt;td&gt;2&lt;br /&gt;&lt;/td&gt;      &lt;td&gt;Janeiro &lt;br /&gt;&lt;/td&gt;      &lt;td&gt;10.000 &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;      &lt;td&gt;3&lt;br /&gt;&lt;/td&gt;      &lt;td&gt;Fevereiro&lt;br /&gt;&lt;/td&gt;      &lt;td&gt;20.000 &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Vamos agora definir os intervalos dinâmicos:&lt;br /&gt;Meses: &lt;b&gt;&lt;span style="color: blue;"&gt;=DESLOC(Plan1!$A$2;0;0;CONT.VALORES(Plan1!$A:$A)-1;1)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Valores: &lt;b&gt;&lt;span style="color: blue;"&gt;=DESLOC(Plan1!$B$2;0;0;CONT.VALORES(Plan1!$B:$B)-1;1)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Agora construa um gráfico, por exemplo colunas, a partir do intervalo Plan1!A1:B3&lt;br /&gt;&lt;br /&gt;O resultado obtido, deve assemelhar-se a este aqui:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_s5pML7s0QoM/SwXldCIY3GI/AAAAAAAAABg/DmHcExhwhgM/s1600/GRafDin1.jpg" imageanchor="1" linkindex="21" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_s5pML7s0QoM/SwXldCIY3GI/AAAAAAAAABg/DmHcExhwhgM/s400/GRafDin1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Se clicarmos na série de dados, veremos que na barra de fórmulas aparece o conteúdo destacado abaixo:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_s5pML7s0QoM/SwXmkRksHkI/AAAAAAAAABo/XGbWHWUFThs/s1600/GRafDin2.jpg" imageanchor="1" linkindex="22" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_s5pML7s0QoM/SwXmkRksHkI/AAAAAAAAABo/XGbWHWUFThs/s400/GRafDin2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Edite a fórmula =SÉRIE(Plan1!$B$1;Plan1!$A$2:$A$3;Plan1!$B$2:$B$3;1); deixando-a com a seguinte sintaxe =SÉRIE(Plan1!$B$1;&lt;span style="color: red;"&gt;Gráfico_Intervalo_Dinamico.xls!Meses&lt;/span&gt;;&lt;span style="color: red;"&gt;Gráfico_Intervalo_Dinamico.xls!Valores&lt;/span&gt;;1)&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Experimente agora digitar novos valores, nas células das colunas A e B, como no exemplo a seguir e observe o que ocorre com o gráfico.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_s5pML7s0QoM/SwXons7QhDI/AAAAAAAAABw/6QE3OfQHrmQ/s1600/GRafDin3.jpg" imageanchor="1" linkindex="23" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_s5pML7s0QoM/SwXons7QhDI/AAAAAAAAABw/6QE3OfQHrmQ/s400/GRafDin3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comentários:&lt;br /&gt;- Observe que além do nome do intervalo, é necessário inserir na fórmula SÉRIES, o nome do arquivo.&lt;br /&gt;- O raciocínio mostrado nese tópico pode ser estendido para os outros modelos de gráficos do Excel, independentemente do número e do tamanho das séries dos gráficos.&lt;br /&gt;- Acesse o exemplo pronto, no link: &lt;a href="http://www.4shared.com/file/34489507/657cb090/Grfico_Intervalo_Dinamico.html" linkindex="24"&gt;http://www.4shared.com/file/34489507/657cb090/Grfico_Intervalo_Dinamico.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Até a próxima&lt;br /&gt;_________________________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-6304480639582071742?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/6304480639582071742/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=6304480639582071742' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6304480639582071742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6304480639582071742'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/utilizando-intervalos-dinamicos-em.html' title='Gráficos x Intervalos Dinâmicos - Exemplo 1'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_s5pML7s0QoM/SwXldCIY3GI/AAAAAAAAABg/DmHcExhwhgM/s72-c/GRafDin1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-4403832838172916439</id><published>2009-11-18T23:27:00.000-02:00</published><updated>2009-11-18T23:27:41.603-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intervalo Dinâmico'/><title type='text'>Criando intervalos dinâmicos</title><content type='html'>Uma das formas de melhorar a sintaxe e a interpretação de fórmulas complexas é a utilização de intervalos nomeados (Inserir &amp;gt;&amp;gt; Nomes &amp;gt;&amp;gt; Definir).&lt;br /&gt;Uma outra funcionalidade para os intervalos nomeados é a possibilidade de criação de intervalos que se ajustem à medida que novas informações sejam inseridas.&lt;br /&gt;Se tivermos, por exemplo, dados digitados no intervalo A1:A10 e quisermos somá-los, basta criar a função =SOMA(A1:A10).&lt;br /&gt;Mas, e se depois tivermos que acrescentar mais informações ao conjunto de dados, de que forma podemos acrescentar esses dados automaticamente à função, eliminando a necessidade de alterar a fórmula?&lt;br /&gt;Neste contexto é que entram os intervalos dinâmicos.&lt;br /&gt;Antes de realizarmos um exemplo de utilização, vamos analisar o uso da função DESLOC.&lt;br /&gt;Esta função, em sua sintaxe completa torna-se =DESLOC(Ref;Deslocamento_Vertical;Deslocamento_Horizontal;Altura;Largura).&lt;br /&gt;Ref: É a célula a partir da qual será construído um novo intervalo;&lt;br /&gt;Deslocamento_Vertical: Nº de linhas acima (valor negativo) ou abaixo (valor positivo) em que se iniciará o novo intervalo;&lt;br /&gt;Deslocamento_Horizontal: Nº de colunas à direita (valor negativo) ou à esquerda (valor positivo) em que se iniciará o novo intervalo;&lt;br /&gt;Altura: Nº de linhas do novo intervalo;&lt;br /&gt;Largura: Nº de colunas do novo intervalo.&lt;br /&gt;Exemplo =DESLOC(B5;-1;2;4;3).&lt;br /&gt;Interpretação: Criar um intervalo, tal que o seu canto superior esquerdo está uma linha acima e duas colunas à direita de B5 (Ou seja, a célula D4). Este intervalo terá 4 linhas e 3 colunas (Ou seja, D4:F7).&lt;br /&gt;Criada a familiaridade com a função DESLOC, vamos utilizá-la para construir um intervalo dinâmico.&lt;br /&gt;No exemplo que citamos para a função SOMA(A1:A10), precisamos que o intervalo se adapte ao número de linhas inseridas na coluna A. Podemos então, utilizando a lógica abordada, utilizar a função DESLOC da seguinte forma =DESLOC(A1;0;0;CONT.VALORES($A:$A);1). Neste contexto, utilizamos a função CONT.VALORES para determinar o número de linhas da coluna A que possuem valores. (É importante frisar que estamos assumindo que o intervalo é contínuo, neste exemplo).&lt;br /&gt;Poderíamos então reescrever a função SOMA como =SOMA(DESLOC(A1;0;0;CONT.VALORES($A:$A);1)).&lt;br /&gt;Particularmente, acho que é uma sintaxe de difícil interpretação.&lt;br /&gt;Fazendo uso de um intervalo nomeado, podemos seguir o caminho (Inserir &amp;gt;&amp;gt; Nomes &amp;gt;&amp;gt; Definir). Em Nomes da pasta de trabalho, podemos escrever Valores_da_Coluna_A, e na caixa Refere-se a, digitamos =DESLOC(A1;0;0;CONT.VALORES($A:$A);1), pressionando Ok em seguida.&lt;br /&gt;Assim poderemos simplificar a nossa soma para =SOMA(Valores_da_Coluna_A), tornando-a muito mais fácil de ser interpretada.&lt;br /&gt;&lt;br /&gt;Comentários adicionais.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Para os usuários da versão 2007, o caminho para inserção de nomes é: Aba Fórmulas &amp;gt;&amp;gt; Seção: Nomes Definidos; Botão: Definir Nomes). Em seguida, seguir os mesmos passos já descritos.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Esta é apresentação inicial da utilização, voltaremos ao tema com aplicações conjunta com outras ferramentas do Excel, tais como Gráficos e Tabelas Dinâmicas.&lt;/li&gt;&lt;/ul&gt;Até breve.&lt;br /&gt;&lt;br /&gt;_____________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-4403832838172916439?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/4403832838172916439/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=4403832838172916439' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4403832838172916439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/4403832838172916439'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/criando-intervalos-dinamicos.html' title='Criando intervalos dinâmicos'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-1841231641970642987</id><published>2009-11-15T22:12:00.000-02:00</published><updated>2009-11-17T00:30:56.949-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ordenação Automática Intervalo'/><title type='text'>Ordenação automática de um intervalo de células</title><content type='html'>&lt;span id="goog_1258329643089"&gt;&lt;/span&gt;&lt;span id="goog_1258329643090"&gt;&lt;/span&gt;Esta dica permite criar um intervalo automaticamente ordenado, de forma decrescente, a partir de um outro intervalo.&lt;br /&gt;Ex: Temos uma lista de nomes de Regiões do Brasil e os correspondentes valores de receitas de uma empresa. Ao lado desta lista temos a lista resultante já ordenada automaticamente&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_s5pML7s0QoM/SwCWP2Ep1mI/AAAAAAAAAA4/hPwyz1Xxg9I/s1600-h/Vis%C3%A3oIntervalos.jpg" imageanchor="1" linkindex="54" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_s5pML7s0QoM/SwCWP2Ep1mI/AAAAAAAAAA4/hPwyz1Xxg9I/s320/Vis%C3%A3oIntervalos.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;A seguir, temos a visão da mesma planilha exibindo, desta vez as fórmulas que realizam esta ordenação:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_s5pML7s0QoM/SwCWxex49xI/AAAAAAAAABA/QG1nWPfmqqU/s1600-h/Vis%C3%A3oF%C3%B3rmulas.jpg" imageanchor="1" linkindex="55" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_s5pML7s0QoM/SwCWxex49xI/AAAAAAAAABA/QG1nWPfmqqU/s640/Vis%C3%A3oF%C3%B3rmulas.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Explicações:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Na coluna F temos as fórmulas matricias que geram uma lista ordenada decrescentemente&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Utilizamos a função MAIOR para retornar a série de valores.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;O argumento inicial da função (Intervalo + LIN(Intervalo/1000000000)) cria uma série de valores introduzindo uma diferenciação para o caso de haver valores repetidos. O segundo argumento (LIN(Célula)) permite que ao ser copiada, a fórmula automaticamente se ajuste para comportar o 1º maior, depois o 2º maior e assim sucessivamente.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Nas fórmulas da coluna E, utilizamos a função =CORRESP(Valor; Intervalo+LIN(Intervalo)/1000000000;0) para retornar a posição ocupada pelo elemento Valor na série ordenada. Finalmente a função ÍNDICE() retorna o nome equivalente de região.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;OBS:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;O conceito pode ser aplicado para intervalos de qualquer tamanho.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Para obter-se uma lista ordenada de forma crescente, basta substituir a função MAIOR() pela função MENOR().&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-1841231641970642987?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/1841231641970642987/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=1841231641970642987' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1841231641970642987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/1841231641970642987'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/ordenacao-automatica-de-um-intervalo-de.html' title='Ordenação automática de um intervalo de células'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_s5pML7s0QoM/SwCWP2Ep1mI/AAAAAAAAAA4/hPwyz1Xxg9I/s72-c/Vis%C3%A3oIntervalos.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-6699231709676117807</id><published>2009-11-14T23:33:00.000-02:00</published><updated>2009-11-18T23:30:03.337-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cálculo Dígito Verificador'/><title type='text'>Calculando o dígito verificador (módulo 11)</title><content type='html'>Eis uma solução que realiza o cálculo, utilizando apenas as funções do Excel:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="font-weight: bold;"&gt;=MOD(SOMARPRODUTO((EXT.TEXTO(A1;LIN(INDIRETO("A1:A"&amp;amp;NÚM.CARACT(A1)-1));1))*MAIOR(LIN(INDIRETO("A2:A"&amp;amp;NÚM.CARACT(A1)));LIN(INDIRETO("A1:A"&amp;amp;NÚM.CARACT(A1)-1))))*10;11)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: black;"&gt;_______________________________________________________&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-6699231709676117807?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/6699231709676117807/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=6699231709676117807' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6699231709676117807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/6699231709676117807'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/calculando-o-digito-verificador-modulo.html' title='Calculando o dígito verificador (módulo 11)'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-322611126805012745.post-7043666085031964884</id><published>2009-11-14T22:43:00.000-02:00</published><updated>2009-11-17T00:31:51.815-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Soma Contagem Condicional SOMARPRODUTO'/><title type='text'>Somas e contagens condicionais</title><content type='html'>Uma das dúvidas mais frequentes que vejo aparecer nos fóruns é como realizar uma soma ou contagem de valores, com base em mais de uma condição ou utilizando condições mais complexas.&lt;br /&gt;As funções SOMASE e CONT.SE embora resolvam uma boa gama de problemas, não atendem a questões com maior número de condições. Com a versão 2007 do Excel, fomos brindados com as funções SOMASES e CONT.SES, que ampliaram a capacidade de suas antecessoras, mas que possuem limitações no seu uso. Tente, por exemplo, contar quantos usuários em uma lista possuem a letra "A" como inicial do seu primeiro nome, utilizando CONT.SE ou CONT.SES.&lt;br /&gt;O uso de fórmulas matriciais provê a solução para quase 100% destas questões, porém geram dificuldades de compreensão em usuários não iniciados.&lt;br /&gt;Por outro lado, a função SOMARPRODUTO se ajusta muito bem aos mais diferentes casos de contagens e somas condicionais, tendo uma sintaxe relativamente simples e consumindo menos recursos de memória do que as soluções matriciais equivalentes.&lt;br /&gt;Vamos ilustrar algumas possibilidades de uso desta função, utilizando uma base de dados bem simples:&lt;br /&gt;&lt;br /&gt;&lt;table BORDER="1"&gt;&lt;/TR&gt;&lt;!-- Cabeçalho --&gt;&lt;tr&gt;     &lt;td&gt;Data &lt;/TD&gt;     &lt;td&gt;Cliente&lt;/TD&gt;     &lt;td&gt;Valor da Compra&lt;/TD&gt;    &lt;/TR&gt;&lt;!-- Valores 1/mar --&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;João&lt;/TD&gt;     &lt;td&gt;R$ 1.665&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;José&lt;/TD&gt;     &lt;td&gt;R$ 1.384&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;Antônio&lt;/TD&gt;     &lt;td&gt;R$ 1.577&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;Pedro&lt;/TD&gt;     &lt;td&gt;R$ 1.675&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;Paulo&lt;/TD&gt;     &lt;td&gt;R$ 1.738&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;Maria&lt;/TD&gt;     &lt;td&gt;R$ 2.252&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;1/mar &lt;/TD&gt;     &lt;td&gt;Isabel&lt;/TD&gt;     &lt;td&gt;R$ 2.482&lt;/TD&gt;    &lt;/TR&gt;&lt;!-- Valores 2/mar --&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;João&lt;/TD&gt;     &lt;td&gt;R$ 1.328&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;José&lt;/TD&gt;     &lt;td&gt;R$ 955&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;Antônio&lt;/TD&gt;     &lt;td&gt;R$ 888&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;Pedro&lt;/TD&gt;     &lt;td&gt;R$ 1.452&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;Paulo&lt;/TD&gt;     &lt;td&gt;R$ 2.465&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;Maria&lt;/TD&gt;     &lt;td&gt;R$ 1.651&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;2/mar &lt;/TD&gt;     &lt;td&gt;Isabel&lt;/TD&gt;     &lt;td&gt;R$ 1.875&lt;/TD&gt;    &lt;/TR&gt;&lt;!-- Valores 3/mar --&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;João&lt;/TD&gt;     &lt;td&gt;R$ 1.698&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;José&lt;/TD&gt;     &lt;td&gt;R$ 659&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;Antônio&lt;/TD&gt;     &lt;td&gt;R$ 1.618&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;Pedro&lt;/TD&gt;     &lt;td&gt;R$ 2.180&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;Paulo&lt;/TD&gt;     &lt;td&gt;R$ 1.436&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;Maria&lt;/TD&gt;     &lt;td&gt;R$ 620&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;3/mar &lt;/TD&gt;     &lt;td&gt;Isabel&lt;/TD&gt;     &lt;td&gt;R$ 1.599&lt;/TD&gt;    &lt;/TR&gt;&lt;!-- Valores 4/mar --&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;João&lt;/TD&gt;     &lt;td&gt;R$ 717&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;José&lt;/TD&gt;     &lt;td&gt;R$ 1.179&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;Antônio&lt;/TD&gt;     &lt;td&gt;R$ 2.489&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;Pedro&lt;/TD&gt;     &lt;td&gt;R$ 778&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;Paulo&lt;/TD&gt;     &lt;td&gt;R$ 2.424&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;Maria&lt;/TD&gt;     &lt;td&gt;R$ 895&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;4/mar &lt;/TD&gt;     &lt;td&gt;Isabel&lt;/TD&gt;     &lt;td&gt;R$ 685&lt;/TD&gt;    &lt;/TR&gt;&lt;!-- Valores 5/mar --&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;João&lt;/TD&gt;     &lt;td&gt;R$ 2.290&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;José&lt;/TD&gt;     &lt;td&gt;R$ 902&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;Antônio&lt;/TD&gt;     &lt;td&gt;R$ 2.315&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;Pedro&lt;/TD&gt;     &lt;td&gt;R$ 1.738&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;Paulo&lt;/TD&gt;     &lt;td&gt;R$ 2.199&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;Maria&lt;/TD&gt;     &lt;td&gt;R$ 2.046&lt;/TD&gt;    &lt;/TR&gt;&lt;tr&gt;     &lt;td&gt;5/mar &lt;/TD&gt;     &lt;td&gt;Isabel&lt;/TD&gt;     &lt;td&gt;R$ 1.922&lt;/TD&gt;    &lt;/TR&gt;&lt;/TABLE&gt;Se inserirem a listagem acima numa planilha a partir da célula A1, verão que o intervalo dos dados se estenderá até a linha 36 da coluna C.&lt;br /&gt;Proponho em seguida algumas questões que responderemos em seguida utilizando a função SOMARPRODUTO.&lt;br /&gt;1ª Questão: Qual o valor comprado pelos clientes no dia 04/mar?&lt;br /&gt;2ª Questão: Qual o valor comprado entre os dias 01 e 03/mar?&lt;br /&gt;3ª Questão: Qual o valor das compras realizadas pelo Pedro?&lt;br /&gt;4ª Questão: Qual o valor das compras realizadas por Maria e Isabel&lt;br /&gt;5ª Questão: Qual o valor das compras do Antônio nos dias 01/mar e 05/mar?&lt;br /&gt;6ª Questão: Quantas compras foram realizadas por clientes com a inicial "J"?&lt;br /&gt;&lt;br /&gt;Usaremos a seguinte sintaxe para a função: =SOMARPRODUTO((Argumento1)*(Argumento2)*(Argumento3)*...*(ArgumentoN)), onde cada argumento representa um intervalo de dados que pode, ou não, apresentar uma condição. A função trabalha, multiplicando o 1º elemento do 1º argumento, pelo 1º elemento do 2º argumento, e assim por diante até o 1º elemento do argumento N. Depois faz o mesmo com o 2º elemento, com o 3º e assim por diante, somando em seguida todos esses produtos.&lt;br /&gt;&lt;br /&gt;1ª Questão&lt;br /&gt;Antes da resposta é importante compreender como podemos informar ao Excel um valor de data, sendo que não podemos digitar 04/03/2009 diretamente em uma fórmula, pois seria interpretado como uma divisão de valores. As formas mais comuns, e igualmente eficazes, são:&lt;br /&gt;a. Informar o número serial correspondente: 39876, que corresponde ao número de dias contados desde 01/01/1900 até a data corrente;&lt;br /&gt;b. Utilizar a função DATA (=DATA(2009;3;4));&lt;br /&gt;c. Utilizar a função Valor (=VALOR("04/03/2009").&lt;br /&gt;d. Indicar uma célula que contenha o valor da data (por exemplo; $D$2)&lt;br /&gt;Agora que sabemos com inserir uma data numa fórmula, vamos à condição propriamente dita. Queremos contabilizar todos os dias, presentes na coluna A, que sejam iguais a 04/mar. Desta forma nosso primeiro argumento será ($A$2:$A$36=VALOR("04/03/2009"))&lt;br /&gt;Agora teremos que inserir o argumento que representa os valores a serem somados. No nosso caso ($C$2:$C$36). Temos então que a nossa fórmula fica assim &lt;span style="color: red;"&gt;=SOMARPRODUTO(($A$2:$A$36=VALOR("04/03/2009"))*($C$2:$C$36))&lt;/span&gt;, sendo o resultado igual a R$ 9.167.&lt;br /&gt;&lt;br /&gt;2ª Questão:&lt;br /&gt;Creio que podemos partir direto para a solução&lt;br /&gt;&lt;span style="color: red;"&gt;=SOMARPRODUTO(($A$2:$A$36&amp;gt;=VALOR("01/03/2009"))*($A$2:$A$36&amp;lt;=VALOR("03/03/2009"))*($C$2:$C$36))&lt;/span&gt;&lt;br /&gt;Onde :&lt;br /&gt;Argumento1 representa todos os dias a partir de 01/03; &lt;br /&gt;Argumento2 representa todos os dias anteriores a 03/03, incluindo também esta data.&lt;br /&gt;O produto de Argumento1 * Argumento2, tem como resultante todos os dias compreendidos neste intervalo (matematicamente falamos que é a intersecção dos intervalos)&lt;br /&gt;Finalmente Argumento3 representa os valores a serem somados com base nestas condições.&lt;br /&gt;&lt;br /&gt;3ª Questão&lt;br /&gt;&lt;span style="color: red;"&gt;=SOMARPRODUTO(($B$2:$B$36="Pedro")*($C$2:$C$36))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4ª Questão&lt;br /&gt;&lt;span style="color: red;"&gt;=SOMARPRODUTO((($B$2:$B$36="Maria")+($B$2:$B$36="Isabel"))*($C$2:$C$36))&lt;/span&gt;&lt;br /&gt;Vale a pena destacar o uso do sinal de adição para as condições, criando um argumento de uma forma diferente, cuja leitura pode ser "quero destacar todos os valores comprados por Maria somados os valores comprados por Isabel".&lt;br /&gt;&lt;br /&gt;5ª Questão&lt;br /&gt;&lt;span style="color: red;"&gt;=SOMARPRODUTO(($B$2:$B$36="Antônio")*(($A$2:$A$36=VALOR("01/03/2009"))+($A$2:$A$36=VALOR("05/03/2009")))*($C$2:$C$36))&lt;/span&gt;&lt;br /&gt;Vale lembrar que não estamos falando do intervalo entre os dias e sim de cada data individualmente.&lt;br /&gt;&lt;br /&gt;6ª Questão&lt;br /&gt;&lt;span style="color: red;"&gt;=SOMARPRODUTO(1*(ESQUERDA($B$2:$B$36)="J"))&lt;/span&gt;&lt;br /&gt;Este último é um exemplo de contagem e que só tem um argumento. Neste caso usamos o truque de multiplicar o argumento por 1.&lt;br /&gt;&lt;br /&gt;Espero ter lançado alguma luz sobre o tema e facilitar a vida de quem se confronta com este tipo de questão no dia a dia.&lt;br /&gt;A planilha com os dados e as soluções está disponível em:&lt;br /&gt;&lt;a class="postlink" href="http://www.4shared.com/file/91929774/85669b93/SOMA_CONTAGEM_CONDICIONAL.html" linkindex="13" onclick="window.open(this.href);return false;"&gt;http://www.4shared.com/file/91929774/85 ... IONAL.html&lt;/a&gt;&lt;br /&gt;______________________________________________________________________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/322611126805012745-7043666085031964884?l=adilsonsoledade.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adilsonsoledade.blogspot.com/feeds/7043666085031964884/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=322611126805012745&amp;postID=7043666085031964884' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7043666085031964884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/322611126805012745/posts/default/7043666085031964884'/><link rel='alternate' type='text/html' href='http://adilsonsoledade.blogspot.com/2009/11/uma-das-duvidas-mais-frequentes-que.html' title='Somas e contagens condicionais'/><author><name>adilsonsoledade</name><uri>http://www.blogger.com/profile/13915804541463958831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_s5pML7s0QoM/Sv9MklnAzjI/AAAAAAAAAAM/RLu2m2pvaTs/s1600-R/file.php%3Favatar%3D2141_1237163200.jpg'/></author><thr:total>6</thr:total></entry></feed>
