About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-06-27
EXCEL: Curiosidade
2:22 da manhã |
Publicada por
JRod - PORTUGAL |
Editar mensagem
A função EOMONTH(), que se encontra no Analysis ToolPak add-in, devolve o número de série correspondente ao último dia do mês que é apurado somando ou diminuindo o número de meses pretendido ao mês que serve de base, sendo a sintaxe a seguinte: EOMONTH(start_date,months).
No entanto, se não se tiver o add-in mencionado, pode efectuar-se o mesmo tipo de cálculo, utilizando as funções DATE(), YEAR() e MONTH() em conjunto. A única diferença é que no segundo caso, temos que adicionar ou subtrair 1 mês, para podermos obter o mesmo resultado:
Nota: as células B1 e B3 estão formatadas como data, porque se estiverem formatadas como geral, a devolução é o número de série.
No entanto, se não se tiver o add-in mencionado, pode efectuar-se o mesmo tipo de cálculo, utilizando as funções DATE(), YEAR() e MONTH() em conjunto. A única diferença é que no segundo caso, temos que adicionar ou subtrair 1 mês, para podermos obter o mesmo resultado:
Nota: as células B1 e B3 estão formatadas como data, porque se estiverem formatadas como geral, a devolução é o número de série.
2005-06-16
VBA: Escolher imagem em background
10:11 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Marina Limeira (Forum brasileiro de Office), perguntou como seria possível escolher um fundo da folha de cálculo, de acordo com a seguinte alternativa:
Se fosse maior (>) que 50, o fundo seria uma imagem; se fosse inferior ou igual (<=) a 50, então a imagem seria outra.
Utlizando o Evento SelectionChange, podemos ter o seguinte resultado:
> 50:
<=50:
O Código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") > 50 Then
Worksheets("Folha1").SetBackgroundPicture "E:\camaleão5.jpg"
Else
Worksheets("Folha1").SetBackgroundPicture "E:\butterflies.jpg"
End If
End Sub
Se fosse maior (>) que 50, o fundo seria uma imagem; se fosse inferior ou igual (<=) a 50, então a imagem seria outra.
Utlizando o Evento SelectionChange, podemos ter o seguinte resultado:
> 50:
<=50:
O Código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") > 50 Then
Worksheets("Folha1").SetBackgroundPicture "E:\camaleão5.jpg"
Else
Worksheets("Folha1").SetBackgroundPicture "E:\butterflies.jpg"
End If
End Sub
2005-06-07
Excel: As Funções SUM(), INDIRECT() e VALUE() em Array - III
5:26 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
No post anterior, mostrei um exemplo com uma fórmula para contar o número de células com valor compreendido entre 0 e 15 dentro de um Range fixo ( no exemplo: A1:A6).
Mas como fazer, se pretendermos que o Range possa ser variável, ou seja, podendo ser A1:A6, ou A1:A8 ou A1:A12?. Então, o que teremos que fazer é construirmos a formula de modo a que à variável (x) em A1:A(x) seja atribuído um valor sem ser necessário estar sempre a alterar a fórmula:
Neste caso, sem termos que recorrer ao VBA, podemos utilizar uma célula de referência, a qual irá "informar" a fórmula de qual será o valor que irá receber, para que o Range pretendido seja avaliado.
No exemplo, a célula de referência é E1,que deve ser formatada como texto:
que pode ser formatada como número:
O Array em B1:
{=SUM((INDIRECT("A1:A"&VALUE(E1))>0)*(INDIRECT("A1:A"&VALUE(E1))<=15))}
=SUM((INDIRECT("A1:A"&E1)>0)*(INDIRECT("A1:A"&E1)<=15))
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter
Mas como fazer, se pretendermos que o Range possa ser variável, ou seja, podendo ser A1:A6, ou A1:A8 ou A1:A12?. Então, o que teremos que fazer é construirmos a formula de modo a que à variável (x) em A1:A(x) seja atribuído um valor sem ser necessário estar sempre a alterar a fórmula:
Neste caso, sem termos que recorrer ao VBA, podemos utilizar uma célula de referência, a qual irá "informar" a fórmula de qual será o valor que irá receber, para que o Range pretendido seja avaliado.
No exemplo, a célula de referência é E1,
O Array em B1:
=SUM((INDIRECT("A1:A"&E1)>0)*(INDIRECT("A1:A"&E1)<=15))
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter
2005-06-06
Excel: a Função Sum() em Array - II
6:57 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Num forum sobre Excel, foi colocada a seguinte questão:
"Tenho uma tabela e gostaria de criar uma fórmula para contar o número de células com valor entre 0 e 15".
Vejamos então o exemplo:
Na tabela, verifica-se que existem 5 células com valores > 0 e <= 15. Então, em B1 podemos escrever:
O Array:
={SOMA((A1:A6>0)*(A1:A6<=15))}
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter
"Tenho uma tabela e gostaria de criar uma fórmula para contar o número de células com valor entre 0 e 15".
Vejamos então o exemplo:
Na tabela, verifica-se que existem 5 células com valores > 0 e <= 15. Então, em B1 podemos escrever:
O Array:
={SOMA((A1:A6>0)*(A1:A6<=15))}
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter
2005-06-02
Excel: Formatação de células
9:34 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Num newsgroup de Excel, foi colocada a seguinte questão:
"Gostava que em determinadas àreas de uma worksheet só fosse possível escrever em maiúsculas. Existe alguma maneira de formatar uma célula dessa maneira?"
De notar que foi afirmado não se pretender usar do Evento WorkSheet_Change().
Bom, uma possível resposta a esta questão será socorrermo-nos de uma formatação de células em que a fonte a utilizar possua somente maiúsculas, como é o caso do exemplo seguinte:
No exemplo, utilizou-se uma TTF (Invite Engraved SF). Assim, ao escrever-se na célula A6 "exceler" (em minúsculas), o que aparece é o seu conteúdo em maiúsculas. De notar que o Excel assume internamente a função UPPER() ou MAIÚSCULAS(), ou seja, é como se tivessemos escrito na célula A6: =UPPER("exceler").
"Gostava que em determinadas àreas de uma worksheet só fosse possível escrever em maiúsculas. Existe alguma maneira de formatar uma célula dessa maneira?"
De notar que foi afirmado não se pretender usar do Evento WorkSheet_Change().
Bom, uma possível resposta a esta questão será socorrermo-nos de uma formatação de células em que a fonte a utilizar possua somente maiúsculas, como é o caso do exemplo seguinte:
No exemplo, utilizou-se uma TTF (Invite Engraved SF). Assim, ao escrever-se na célula A6 "exceler" (em minúsculas), o que aparece é o seu conteúdo em maiúsculas. De notar que o Excel assume internamente a função UPPER() ou MAIÚSCULAS(), ou seja, é como se tivessemos escrito na célula A6: =UPPER("exceler").
Subscrever:
Mensagens (Atom)