PplWare Mobile

Dicas do Microsoft Excel é ao Domingo…no Pplware – 56

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Tiago says:

    Boas

    Precisava de fazer uma macro que guardasse os primeiros valores gerados por uma função aleatório, alguém me sabe dizer como o fazer?

    Obrigado

    • José Augusto says:

      ‘ Seleccione um intervalo de células
      ‘ de uma folha Excel;

      ‘ Execute a macro que se segue

      ‘ O intervalo seleccionado ficará
      ‘ preenchido com números aleatórios
      ‘ ———————————————-
      Sub aleatórios()
      Dim a As Range, i As Integer, j As Integer
      Set a = Selection
      Randomize ‘ inicializa lista
      For i = 1 To a.Rows.Count
      For j = 1 To a.Columns.Count
      a(i, j) = Rnd
      Next j
      Next i
      End Sub
      ‘ ————————————————
      ‘ Espero que ajude

  2. Amarelo says:

    Uso com frequência nas minhas aulas… Muito bom o tutorial…

  3. Hugo Matias says:

    Extremamente interessante. Desconhecia completamente, mas teria dado jeito à muito tempo.

  4. paulo g. says:

    Para quem tem LibreOffice calc também pode resolver este problema, indo ao menu Ferramentas → Sistema de Resolução.
    Depois colocar os valores de acordo com a imagem que está no ficheiro, que como poderão observar são colocados de forma ligeiramente diferente do M$Excel. Obrigado ao Vasco por se disponibilizar (partilhar) este exemplo.
    Tem a resolução com imagem descritiva, aqui:https://docs.google.com/file/d/0B1_jQSr740ArOGZIRnFWVnk2VzA/edit?usp=sharing
    PS: Deixei os erros ortográficos de propósito, de modo a poderem ser corrigidos com a tecla do lado direito…

  5. Jorge Geraldes says:

    Será possível através do Visual Basic definir uma folha de cãlculo de forma a que o utilizador defina um bloco de céluas que não são protegidas e proteger tudo o resto?
    Grato

  6. Dário Moura says:

    Boa Noite pessoal do PPLWARE

    Necessito da vossa ajuda numa situação do Excell

    Eu tenho um folha de calculo e o que pretendo fazer é uma contagem de quantas células preenchidas a uma determinada cor existem numa coluna.

    Como o posso fazer?

    Obrigado

    • José Augusto says:

      Caro Dário Moura

      Para resolver o seu problema torna-se necessário usar VBA.
      Escreva a seguinte função:
      Function ContarCor(Intervalo As Range, Cor As Range) As Long
      ‘Elaborada por José Augusto
      ’10-12-2004

      ‘Conta o número de células do Intervalo que contém cor
      ‘de fundo igual à cor de fundo da célula Cor.

      ‘Intervalo é o intervalo de células que se pretende contar.
      ‘Cor é a célula que contém a cor que vai ser avaliada

      Dim i As Long, j As Long, res As Long, c As Long
      res = 0: c = Cor(1, 1).Interior.Color
      For i = 1 To Intervalo.Rows.Count
      For j = 1 To Intervalo.Columns.Count
      res = res + IIf(Intervalo(i, j).Interior.Color = c, 1, 0)
      Next j
      Next i
      ContarCor = res
      End Function

      No Excel pode então usar a seguinte fórmula:

      =ContarCor(B2:C50;A1)

      A função irá contar o número de células do intervalo B2:C50 cuja cor de fundo seja igual à cor de fundo da célula A1.

      Espero que ajude.

  7. Margarida says:

    Boa tarde,

    Tenho um ficheiro excel com duas folhas, na Folha1 tenho uma lista de nomes com mais alguns dados, moradas, contactos etc.
    Depois tenho a Folha2, que eu preencho linha a linha com o nome da tal pessoa que faz parte da Folha1, e com a data do pedido dessa pessoa.
    Aquilo que pretendo é que na Folha1 exista uma fórmula que vá buscar a data mais recente relacionada com aquela pessoa na Folha2.

    Ou seja:

    Folha2

    20/01/2014 Joaquim Duarte
    15/03/2014 Joaquim Duarte
    28/07/2014 Joaquim Duarte

    Automaticamente, na Folha1 deveria aparecer numa determinada coluna no nome “Joaquim Duarte” 28/07/2014 que é a data mais recente, isto para que de uma forma mais rápida se possa ver quando foi a última vez que aquele cliente contactou connosco.

    É possível alguém dar uma ajuda?

    Obrigada.

    • José Augusto says:

      Cara Margarida
      Vou considerar que na Folha1 os nomes estão na coluna A a partir da linha 2 e que a tabela com as datas de contacto (coluna A) e nomes (coluna B) estão na Folha2!A2:B4000
      A data do último contacto (coluna E por exemplo) pode ser obtida através da fórmula matricial

      =MÁXIMO((Folha2!$B$2:$B$4000=A2)*Folha2!$A$2:$A$4000)

      Esta fórmula deve então ser escrita na Folha1 numa célula da linha 2 da coluna E e será válida por cópia para as restantes linhas dessa coluna.
      Atenção que esta é uma fórmula matricial e como tal deve ser validada não com a tecla Enter mas sim com as teclas Ctrl + Shift +Enter (mantendo CTRL e Shift premidas, premir Enter).
      Na barra de fórmulas a fórmula ficará escrita como {=MÁXIMO((Folha2!$B$2:$B$4000=A2)*Folha2!$A$2:$A$4000)}
      Espero ter ajudado.
      Cumprimentos

  8. José Augusto says:

    Cara Margarida
    Vou considerar que na Folha1 os nomes estão na coluna A a partir da linha 2 e que a tabela com as datas de contacto (coluna A) e nomes (coluna B) estão na Folha2!A2:B4000
    A data do último contacto (coluna E por exemplo) pode ser obtida através da fórmula matricial

    =MÁXIMO((Folha2!$B$2:$B$4000=A2)*Folha2!$A$2:$A$4000)

    Esta fórmula deve então ser escrita na Folha1 numa célula da linha 2 da coluna E e será válida por cópia para as restantes linhas dessa coluna.
    Atenção que esta é uma fórmula matricial e como tal deve ser validada não com a tecla Enter mas sim com as teclas Ctrl + Shift +Enter (mantendo CTRL e Shift premidas, premir Enter).
    Na barra de fórmulas a fórmula ficará escrita como {=MÁXIMO((Folha2!$B$2:$B$4000=A2)*Folha2!$A$2:$A$4000)}
    Espero ter ajudado.
    Cumprimentos

    • Margarida says:

      Boa tarde José Augusto,

      Desde já agradeço a sua ajuda, no entanto devo estar a colocar algo errado, porque o resultado que deveria obter na coluna da data do último contacto é “0-jan” em todos os nomes…

      =MÁXIMO((Folha2!$B$2:$B$4000=B3)*Folha2!$A$2:$A$4000)

      A única coisa que alterei foi a célula a partir de onde estão os nomes na Folha1, que no caso começam na célula B3.

      Obrigada.

      • José Augusto says:

        Boa tarde
        Por favor verifique se o nome que introduziu na Folha2, coluna B, é exactamente igual ao introduzido em B3 na Folha1.
        Verifique ainda se, na barra de fórmulas lhe aparecem as chavetas a englobar a fórmula.
        Cumprimentos

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.