About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2005-02-15
Existe um novo Blog sobre Excel e VBA. Chama-se My Excel and VBA Blog
No post anterior, mostrei como se altera a posição do sinal menos (-).

Passo agora a mostrar duas novas fórmulas que, igualmente, para além de efectuarem a mudança de posição do sinal menos (-), transformam o valor/texto em valor/valor e, assim, susceptível de se poder efectuar a soma pretendida:



Fórmula em B1 (com copy e paste para B2:B4):

=IF(ISNUMBER(--A1);--A1;IF(AND(RIGHT(TRIM(A1))="-";ISNUMBER(-SUBSTITUTE(A1;"-";"";1)));-SUBSTITUTE(A1;"-";"");A1))

ou

Fórmula em B1 (com copy e paste para B2:B4):

=IF(ISNUMBER(A1);A1;SUBSTITUTE(A1;"-";"")*-1)
Se pretendermos trocar a posição do sinal menos (-), podemos utilizar a seguinte fórmula, com a combinação das Funções IF(), ISNUMBER() e SUBSTITUTE().

De notar a inclusão do sinal menos (-) antes da Função SUBSITUTE():

2005-02-08
Há um novo Blog de Excel em português: ExcelSheet
Para resolver o problema do mês de Janeiro, por forma a não incluir as células em branco pertencentes ao Range, podemos optar por, pelo menos, mais duas fórmulas diferentes, a partir da Função SUMPRODUCT():

2005-02-07
No dia 2 de Fevereiro, apresentei um post com uma fórmula que junta as funções Sumproduct()e Text(), para verificar a quantidade de ocorrências contidas num determinado Range.
No entanto, a fórmula apenas funciona correctamente (problema só em relação a "Jan") se o Range estiver completamente preenchido; se houver células em branco, estas são igualmente contadas como se contivessem a ocorrência "Jan", o mesmo não acontecendo com outras ocorrências, como se pode verificar no exemplo seguinte:



A fórmula a executar, para que a contagem das ocorrências seja correcta (não contando, por isso, com as células vazias como fazendo parte da ocorrência), é a seguinte, agora com a incorporação da Função IsBlank():


2005-02-06
Em Excel Pragma, foi apresentada uma Função definida pelo utilizador, a qual, porque prática, aqui apresento, a título de exemplo:



O Código:


Public Function ConcSep(InCells As Range, Sep As String) As String
    Dim OutStr As String
    Dim Cell As Variant
    
    OutStr = ""
    If InCells Is Nothing Then Exit Function
    On Error Resume Next
    For Each Cell In InCells
        OutStr = OutStr & Cell.Value & Sep
    Next Cell
    OutStr = Left(OutStr, Len(OutStr) - Len(Sep))
    ConcSep = OutStr
End Function
2005-02-02
Se pretendermos preencher uma coluna com a sequência de uma série iniciada na coluna adjacente, digitam-se os dois primeiros números sequenciais na coluna que se pretende preencher:



marcam-se as duas células e no canto inferior direito faz-se um duplo clique.

O resultado é o preenchimento sequencial da coluna, tomando por base a coluna adjacente anterior:



Esta Dica foi retirada de Office Tips and Hints Blog
Se pretendermos ver a quantidade de ocorrências contidas num determinado Range de células (no exemplo, o Range é A1:A5 e está formatado como data na forma dd-mmm e as ocorrências pretendidas são "Jan" e "Fev"), podemos utilizar a seguinte fórmula:

2005-02-01
Como é sabido, o Excel apenas dá a possibilidade de incluir 3 formatações condicionais:

more

Mas, com um pouco de código VBE, é possí­vel incluir muitas mais formatações condicionais. Para tanto, basta clicar com a tecla direita do rato no tabulador da folha:

morethan3a

escolher "Ver Código" e escrever o seguinte:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    With Target
        Select Case LCase(.Value)
        Case Is = "teste1": .Interior.ColorIndex = 5
        Case Is = "teste2": .Interior.ColorIndex = 6
        Case Is = "teste3": .Interior.ColorIndex = 7
        Case Is = "teste4": .Interior.ColorIndex = 8
        Case Is = "teste5": .Interior.ColorIndex = 9
        Case Else
            .Interior.ColorIndex = xlNone
        End Select
    End With
End Sub


O resultado será, por exemplo ( de notar que a formatação condicional, neste caso, abrange toda e qualquer célula da coluna A):

morethan3