Blog Archive
-
▼
2004
(73)
-
▼
dezembro
(33)
- HAPPY NEW YEAR!!!!
- VBE: Exemplo de código - Receita Líquida versus Re...
- Fórmula com utilização de Array
- Formatar uma célula como fracção
- Formatar texto numa célula
- Este Blog EXCELer mencionado noutros Blogs
- Natal 2004
- VBE: Utilização da Função Transpose() com Arrays
- VBE: Apagar só Valores
- Encontrar e Apagar valores duplicados
- Excel: A Função SUM()
- Excel: Fórmula que utiliza várias Funções
- VBE: Exemplo de apresentação de um link
- Encontrar valores duplicados em células
- Excel: Shortcuts (IV)
- Excel: Shortcuts (III)
- Excel: Shortcuts (II)
- Excel: Shortcuts (I)
- Exemplo de Função definida pelo Utilizador II
- VBE: Exemplo de Função definida pelo Utilizador
- VBE: Função para conversão de numeração decimal pa...
- VBE: Limitar o comprimento de uma String
- VBE: Utilização de formulário para ver valores neg...
- VBE: Utilização da Função de Folha de Cálculo SUM()
- VBE: Decrementar programaticamente
- VBE: Utilização do método ONTIME e das Funções NOW...
- Quantos dias tem o mês (II)
- Formatação de Números (Imagem)
- VBE: Formatação de Números (Código)
- Exemplo da Função CONTAR.VAZIO()
- Fórmula com o operador aritmético de percentagem "%"
- VBE: A Função Array()
- VBE:Exemplo de macro que utiliza o indicador RANDO...
-
►
novembro
(28)
- VBE: Formatação programática de células a BOLD
- VBE: Adicionar Comentários em células
- Thanks, Mark!
- As propriedades SelStart e SelLength (VBE)
- Quantos dias tem o mês
- Utilização das Funções IF() & AND()
- VBE: Desabilitar a tecla "Escape"
- VBE: Eliminação de conteúdos duplicados. Ordenação...
- VBE: Formatação de células (cont.)
- VBE: Formatação de células
- Adicionar um comentário a uma fórmula
- Fórmula com Função de Data
- Referências relativas, absolutas e mistas
- Exemplo das Funções CONCATENAR() e VALOR()
- O método UNION e o método INTERSECT
- O método UNION
- Funções de Data III
- Funções de Data II
- Utilização de funções de data
-
▼
dezembro
(33)
About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
Supondo que é dado o valor da Receita Líquida e que o valor do Fundo é o resultado da fórmula Receita Bruta*Taxa, como apurar o valor dessa Receita Bruta?

Uma possível resposta está no seguinte Código em VBE:
'---------------------------------------------------------------------------------------
' Procedure : CommandButton1_Click
' DateTime : 31-12-2004 16:38
' Author : Jorge Rodrigues
' Purpose : Apuramento da Receita Bruta
'---------------------------------------------------------------------------------------
'
Private Sub CommandButton1_Click()
Dim ValLiq, Tax, Cem, iBox
Tax = 88
Cem = 100
ValLiq = Worksheets("Sheet1").Range("C5")
If ValLiq = "" Then
Exit Sub
End If
iBox = Range("C4")
If iBox = "" Then
iBox = 0
End If
ValBrut = (ValLiq - iBox) * Cem / Tax
Range("C1").Select
ActiveCell = ValBrut
End Sub
O resultado seria, no exemplo:
Uma possível resposta está no seguinte Código em VBE:
'---------------------------------------------------------------------------------------
' Procedure : CommandButton1_Click
' DateTime : 31-12-2004 16:38
' Author : Jorge Rodrigues
' Purpose : Apuramento da Receita Bruta
'---------------------------------------------------------------------------------------
'
Private Sub CommandButton1_Click()
Dim ValLiq, Tax, Cem, iBox
Tax = 88
Cem = 100
ValLiq = Worksheets("Sheet1").Range("C5")
If ValLiq = "" Then
Exit Sub
End If
iBox = Range("C4")
If iBox = "" Then
iBox = 0
End If
ValBrut = (ValLiq - iBox) * Cem / Tax
Range("C1").Select
ActiveCell = ValBrut
End Sub
O resultado seria, no exemplo:
2004-12-28
A fórmula que se apresenta adiciona as quantidades segundo um critério determinado (no exemplo, a quantidade correspondente a cada letra).
Como se trata de um Array, não esquecer de utilizar {}, através das teclas CTRL + Shift + Enter na fórmula activa.
De notar que o "*" aqui tem a função do operador "AND".

Como se trata de um Array, não esquecer de utilizar {}, através das teclas CTRL + Shift + Enter na fórmula activa.
De notar que o "*" aqui tem a função do operador "AND".
2004-12-27
Para formatar uma célula como fracção (ex. 1/4), digita-se na célula 0 1/4 (ou seja: zero,espaço, um, slash, quatro):
2004-12-26
Pode formatar-se texto numa célula activa, bastando, para isso, marcar o que se pretende
e, na barra de menus ir a Formatar>Células|Fonte
e escolher a Fonte, o Estilo, o Tamanho e a Cor.
O resultado será (exemplo):
e, na barra de menus ir a Formatar>Células|Fonte
e escolher a Fonte, o Estilo, o Tamanho e a Cor.
O resultado será (exemplo):
Andrew Engwirda, autor do Blog sobre Excel: Andrew's Excel Tips tem o link deste Blog
mencionado ns sua coluna Excel Tips & Forums.
Obrigado, Andrew!
mencionado ns sua coluna Excel Tips & Forums.
Obrigado, Andrew!
Exemplo de preenchimento de células com os valores contidos em Arrays:

Código:
Sub Preencher()
Sheets("Sheet1").[A1:A5] = _
WorksheetFunction.Transpose(Array(1, 2, 3, 4, 5))
Sheets("Sheet1").[B1:B5] = _
WorksheetFunction.Transpose(Array(6, 7, 8, 9, 10))
Sheets("Sheet1").[C1:C5] = _
WorksheetFunction.Transpose(Array(11, 12, 13, 14, 15))
End Sub
Código:
Sub Preencher()
Sheets("Sheet1").[A1:A5] = _
WorksheetFunction.Transpose(Array(1, 2, 3, 4, 5))
Sheets("Sheet1").[B1:B5] = _
WorksheetFunction.Transpose(Array(6, 7, 8, 9, 10))
Sheets("Sheet1").[C1:C5] = _
WorksheetFunction.Transpose(Array(11, 12, 13, 14, 15))
End Sub
Se tivermos uma folha com valores e fórmulas e quisermos apagar apenas os valores, deixando ficar as fórmulas, como no exemplo a seguir:

podemos utilizar o seguinte Código:
Private Sub CommandButton1_Click()
On Error Resume Next
Cells.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub
podemos utilizar o seguinte Código:
Private Sub CommandButton1_Click()
On Error Resume Next
Cells.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub
2004-12-19
Em 16 deste mês, coloquei um post onde mostrei um exemplo
de uma fórmula para detectar valores duplicados em células.
Apresento agora um procedimento em VBE que apaga as linhas
onde se encontram os valores duplicados:
Sub RemoveDuplicates()
Worksheets("Sheet1").Range("A2").Sort key1:=Worksheets("Sheet1").Range("A1")
Set currentCell = Worksheets("Sheet1").Range("A1")
Do While Not IsEmpty(currentCell)
Set nextCell = currentCell.Offset(1, 0)
If nextCell.Value = currentCell.Value Then
currentCell.EntireRow.Delete
End If
Set currentCell = nextCell
Loop
End Sub
Exemplo da utilização da Função SUM()
para somar a célula A1 das folhas 1 a 3:
Fórmula na Sheet4:
=Sum(Sheet1:Sheet3!A1)
para somar a célula A1 das folhas 1 a 3:
Fórmula na Sheet4:
=Sum(Sheet1:Sheet3!A1)
2004-12-18
Exemplo de fórmula que pesquisa um número numa célula mediante um dado parâmetro
com vista a atribuir um certo valor à nova célula:

Fórmula em C1:
=IF(ISNUMBER(A1);IF(OR(INT(A1/1000)=17;INT(A1/1000)=18;INT(A1/1000)=19);100;IF(INT(A1/1000)>=50;50;25));"")
com vista a atribuir um certo valor à nova célula:
Fórmula em C1:
=IF(ISNUMBER(A1);IF(OR(INT(A1/1000)=17;INT(A1/1000)=18;INT(A1/1000)=19);100;IF(INT(A1/1000)>=50;50;25));"")

Private Sub IblMail_Click()
Link = "mailto:jorgerod2@sapo.pt"
On Error GoTo NoCanDo
ActiveWorkbook.FollowHyperlink Address:=Link, NewWindow:=True
Unload Me
Exit Sub
NoCanDo:
MsgBox "Impossível Abrir " & Link
End Sub
2004-12-16
Para encontrar valores duplicados, pode utilizar-se a seguinte fórmula, com as necessárias adaptações:

2004-12-15
Exemplos de teclas de atalho: CTRL + 0 (zero) CTRL + 9:
CTRL + 0 - esconde a(s) coluna(s) activa(s)
CTRL + 9 - esconde a(s) linha(s) activa(s)

CTRL + 0 - esconde a(s) coluna(s) activa(s)
CTRL + 9 - esconde a(s) linha(s) activa(s)
2004-12-14
Exemplos de teclas de atalho - CTRL + R :
Esta tecla de atalho copia o conteúdo e o formato da primeira célula do Range. No exemplo, o Range é A1:D1, mas se o que quiséssemos copiar fosse o conteúdo de A1 e A2, marcaríamos o Range A1:D2 e usávamos o shortcut mencionado.

Esta tecla de atalho copia o conteúdo e o formato da primeira célula do Range. No exemplo, o Range é A1:D1, mas se o que quiséssemos copiar fosse o conteúdo de A1 e A2, marcaríamos o Range A1:D2 e usávamos o shortcut mencionado.
Exemplos de teclas de atalho - CTRL + D:
Esta tecla de atalho copia o conteúdo e o formato da primeira célula do Range. No exemplo, o Range é C1:c5, mas se o que quiséssemos copiar fosse o conteúdo de C1 e D1, marcaríamos o Range C1:D5 e usávamos o shortcut mencionado.

Esta tecla de atalho copia o conteúdo e o formato da primeira célula do Range. No exemplo, o Range é C1:c5, mas se o que quiséssemos copiar fosse o conteúdo de C1 e D1, marcaríamos o Range C1:D5 e usávamos o shortcut mencionado.
A Função RptSpace() devolve um número de espaços entre cadeias de caracteres:
Código:
Public Function RptSpace(ByVal strNum As Variant) As String
Dim strOut As String
strOut = Space(strNum)
RptSpace = strOut
End Function

Código:
Public Function RptSpace(ByVal strNum As Variant) As String
Dim strOut As String
strOut = Space(strNum)
RptSpace = strOut
End Function
2004-12-12
A Função RptChar(), devolve o caracter digitado o número de vezes pretendido:
Código:
Public Function RptChar(ByVal strNum As String, _
ByVal intChar As String) As String
Dim strOut As String
strOut = String(strNum, intChar)
RptChar = strOut
End Function

Código:
Public Function RptChar(ByVal strNum As String, _
ByVal intChar As String) As String
Dim strOut As String
strOut = String(strNum, intChar)
RptChar = strOut
End Function
2004-12-11
A Função dhRoman(123) ou, no exemplo, dhRoman(A1) retorna CXXIII:
Código:
Public Function dhRoman(ByVal intValue As Integer) As String
' Converte um numero decimal entre 1 and 3999
' em numeração romana.
' A partir de "VBA Developer's Handbook, 2nd Edition"
' por Ken Getz and Mike Gilbert
' Copyright 2001; Sybex, Inc. All rights reserved.
' Exemplo:
' dhRoman(123) retorna "CXXIII"
Dim varDigits As Variant
Dim lngPos As Integer
Dim intDigit As Integer
Dim strTemp As String
varDigits = Array("I", "V", "X", "L", "C", "D", "M")
lngPos = LBound(varDigits)
strTemp = ""
Do While intValue > 0
intDigit = intValue Mod 10
intValue = intValue \ 10
Select Case intDigit
Case 1
strTemp = varDigits(lngPos) & strTemp
Case 2
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Case 3
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 4
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 1) & strTemp
Case 5
strTemp = varDigits(lngPos + 1) & strTemp
Case 6
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & strTemp
Case 7
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 8
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Case 9
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 2) & strTemp
End Select
lngPos = lngPos + 2
Loop
dhRoman = strTemp
End Function

Código:
Public Function dhRoman(ByVal intValue As Integer) As String
' Converte um numero decimal entre 1 and 3999
' em numeração romana.
' A partir de "VBA Developer's Handbook, 2nd Edition"
' por Ken Getz and Mike Gilbert
' Copyright 2001; Sybex, Inc. All rights reserved.
' Exemplo:
' dhRoman(123) retorna "CXXIII"
Dim varDigits As Variant
Dim lngPos As Integer
Dim intDigit As Integer
Dim strTemp As String
varDigits = Array("I", "V", "X", "L", "C", "D", "M")
lngPos = LBound(varDigits)
strTemp = ""
Do While intValue > 0
intDigit = intValue Mod 10
intValue = intValue \ 10
Select Case intDigit
Case 1
strTemp = varDigits(lngPos) & strTemp
Case 2
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Case 3
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 4
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 1) & strTemp
Case 5
strTemp = varDigits(lngPos + 1) & strTemp
Case 6
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & strTemp
Case 7
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 8
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Case 9
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 2) & strTemp
End Select
lngPos = lngPos + 2
Loop
dhRoman = strTemp
End Function
2004-12-10
Se limitarmos o comprimento da String de output, por exemplo para 11 dígitos, o nome sai truncado:
Código do exemplo:
Sub NameWidth()
Dim Name As String * 11 ' O caracter "* NN" indica o número máximo de
' dígitos pretendido para a String
Name = InputBox("Digite o seu Nome")
Range("A1") = Name
Name = InputBox("Digite o seu Nome")
Range("A2") = Name
End Sub

Código do exemplo:
Sub NameWidth()
Dim Name As String * 11 ' O caracter "* NN" indica o número máximo de
' dígitos pretendido para a String
Name = InputBox("Digite o seu Nome")
Range("A1") = Name
Name = InputBox("Digite o seu Nome")
Range("A2") = Name
End Sub
2004-12-09
Utilização de um formulário para identificar as células que contêm valores negativos:
Exemplo de Código:
Sub test1()
Dim arr()
Dim zero
zero = 0
Set rng = Sheets(1).Range("A1:A5")
k = Application.CountIf(Range(rng(1), rng(5)), "<0")
ReDim arr(1 To k)
j = 1
For i = 1 To rng.Count
If rng(i).Value < color="#00007f">Then
arr(j) = rng(i).Address(False, False) & " " & rng(i).Value
j = j + 1
End If
Next
UserForm1.ListBox1.List = arr
UserForm1.Show
End Sub

Exemplo de Código:
Sub test1()
Dim arr()
Dim zero
zero = 0
Set rng = Sheets(1).Range("A1:A5")
k = Application.CountIf(Range(rng(1), rng(5)), "<0")
ReDim arr(1 To k)
j = 1
For i = 1 To rng.Count
If rng(i).Value < color="#00007f">Then
arr(j) = rng(i).Address(False, False) & " " & rng(i).Value
j = j + 1
End If
Next
UserForm1.ListBox1.List = arr
UserForm1.Show
End Sub
2004-12-08
Ao clicar-se no Botão de comando,
aparece o resultado em C1, que é a soma de B1:B10:
O Código em VBE, é:
Private Sub CommandButton1_Click()
Dim myRange As Range
Dim Var1 As Long
Set myRange = Worksheets("Sheet1").Range("B1:B10")
Var1 = Application.WorksheetFunction.Sum(myRange)
Range("C1") = Var1
End Sub

aparece o resultado em C1, que é a soma de B1:B10:

O Código em VBE, é:
Private Sub CommandButton1_Click()
Dim myRange As Range
Dim Var1 As Long
Set myRange = Worksheets("Sheet1").Range("B1:B10")
Var1 = Application.WorksheetFunction.Sum(myRange)
Range("C1") = Var1
End Sub
2004-12-07
Se a célula A3 for igual a SIM, então A2 diminui 1 unidade:
Private Sub CommandButton1_Click()
Dim Val
Val = Range("A2").Value
If Range("A3") = "SIM" Then
Val = Val - 1
Range("A2") = Val
End If
End Sub

Private Sub CommandButton1_Click()
Dim Val
Val = Range("A2").Value
If Range("A3") = "SIM" Then
Val = Val - 1
Range("A2") = Val
End If
End Sub
Se quisermos executar um determinado procedimento ciclicamente (p.ex. ao fim de cada 5 minutos passados), podemos utilizar o seguinte:
Sub Auto_Open()
Call Teste
End Sub
Public Sub Teste()
Dim msg
msg = MsgBox("Isto é um Teste")
Application.OnTime Now + TimeValue("00:05:00"), "Teste"
End Sub
Sub Auto_Open()
Call Teste
End Sub
Public Sub Teste()
Dim msg
msg = MsgBox("Isto é um Teste")
Application.OnTime Now + TimeValue("00:05:00"), "Teste"
End Sub
2004-12-05
Em 27 de Novembro passado, apresentei uma fórmula para ver numa célula quantos dias tem determinado mês. Mostro agora uma nova fórmula, simplificada, descrita por John Mansfield -
http://pdbook.com/index.php/excel/index/ -que dá o mesmo resultado:
http://pdbook.com/index.php/excel/index/ -que dá o mesmo resultado:

O conjunto de algarismos inseridos na caixa de texto do formulário, aparecem alterados na sua formatação na célula "A1":

Private Sub CommandButton1_Click() ' Botão "ENVIA"
Range("A1") = TextBox1.Text
Unload Me
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Or Len(TextBox1) > 10 Then Cancel = True
Me.TextBox1.Text = Format(TextBox1, "000-000-0000")
End Sub
Range("A1") = TextBox1.Text
Unload Me
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Or Len(TextBox1) > 10 Then Cancel = True
Me.TextBox1.Text = Format(TextBox1, "000-000-0000")
End Sub
2004-12-03
Exemplo de fórmula que dá o valor resultante da aplicação de uma percentagem. Neste exemplo se a percentagem a aplicar a A1 for 10 (B1), então o valor resultante é 3 (C1). De notar a inclusão do símbolo % na própria fórmula:

O indicador RANDOMIZE inicia o gerador aleatório de números (neste exemplo gera 6 números entre 1 e 49):

2004-11-30
Exemplo de procedimento para formatação de células a BOLD, se estas contiverem valores negativos:
Sub BoldNegative()
Sheets("Hard_Bill").SelectColumns("E:E").Select
On Error Resume Next
Call CheckCells(Selection.SpecialCells(xlConstants, 23))
Call CheckCells(Selection.SpecialCells(xlFormulas, 23))
Columns("H:H").Select
On Error Resume Next
Call CheckCells(Selection.SpecialCells(xlConstants, 23))
Call CheckCells(Selection.SpecialCells(xlFormulas, 23))
Range("a1").Select
End Sub
Sub CheckCells(CurrRange As Range)
For Each cell In CurrRange
If cell.Value <>
cell.Font.Bold = True
With cell.Interior.ColorIndex = 5.Pattern = xlSolid
End With
End If
If cell.Value >= 0 Then
cell.Font.Bold = False
Selection.Interior.ColorIndex = 0
End If
Next cell
End Sub
Sub BoldNegative()
Sheets("Hard_Bill").SelectColumns("E:E").Select
On Error Resume Next
Call CheckCells(Selection.SpecialCells(xlConstants, 23))
Call CheckCells(Selection.SpecialCells(xlFormulas, 23))
Columns("H:H").Select
On Error Resume Next
Call CheckCells(Selection.SpecialCells(xlConstants, 23))
Call CheckCells(Selection.SpecialCells(xlFormulas, 23))
Range("a1").Select
End Sub
Sub CheckCells(CurrRange As Range)
For Each cell In CurrRange
If cell.Value <>
cell.Font.Bold = True
With cell.Interior.ColorIndex = 5.Pattern = xlSolid
End With
End If
If cell.Value >= 0 Then
cell.Font.Bold = False
Selection.Interior.ColorIndex = 0
End If
Next cell
End Sub
2004-11-27
Para ver numa célula quantos dias tem determinado mês, pode utilizar-se a seguinte fórmula:
=DAY(DATE(AG3;MONTH(DATEVALUE(AG4&"-"&AG3))+1;0))

2004-11-25
Assumindo que A4=05-11-2004, que A3=25-11-2004 e que o x de B1 deve ser maior do que 5 e que A1 é maior do que A4 mas menor do que A3, para aparecer a mensagem "ALERTA", caso contrário aparece a mensagem "NADA", teremos:

2004-11-24
Para desabilitar a utilização da tecla "ESCAPE", pode incluir-se no procedimento Auto_Open() o comando que produz aquele efeito:

2004-11-16
Exemplo de um procedimento que efectua a eliminação de conteúdos duplicados e efectua a ordenação por ordem ascendente, já sem os registos duplicados:

2004-11-13
A fórmula que se mostra, deduz de uma data (A1) outra data (B1) e apresenta a palavra "EXPIROU", se o número for superior a 365:

2004-11-11

A célula B1 contém referência relativa à célula A2, ou seja a coordenada da coluna é relativa e a linha também;
A célula B2 contém referência absoluta à célula A2, ou seja, a coordenada da coluna é absoluta e a linha também;
A célula B3 contém referência mista à célula A2, ou seja, a coordenada da coluna é relativa e a linha é absoluta;
A célula B4 contém referência mista à célula A2, ou seja, a coordenada da coluna é absoluta e a linha é relativa.
NOTA: Quando se introduz ou edita uma fórmula, ao premir-se a tecla de função F4, alteram-se os tipos de referência do ponto de inserção que estiver mais próximo.
2004-11-07
Então, perguntei ao John como poderíamos somar valores existentes nessa combinação de Ranges, sem que se adicionassem, por duas vezes, a intersecção das linhas com as colunas.
A resposta foi dada da seguinte maneira:
Como se pode verificar, a rotina, em primeiro lugar, efectua um loop através de todas as células, utilizando o método UNION, para obter o valor total (intersecção incluída).
Depois, efectua outro loop, igualmente através da totalidade das células, utilizando o método INTERSECT, para obter o valor total da intersecção.
Finalmente, subtrai a soma deste segundo loop à soma do primeiro, a fim de obter o valor total correcto.
A resposta foi dada da seguinte maneira:

Como se pode verificar, a rotina, em primeiro lugar, efectua um loop através de todas as células, utilizando o método UNION, para obter o valor total (intersecção incluída).
Depois, efectua outro loop, igualmente através da totalidade das células, utilizando o método INTERSECT, para obter o valor total da intersecção.
Finalmente, subtrai a soma deste segundo loop à soma do primeiro, a fim de obter o valor total correcto.
Há uns dias atrás, John Mansfield (http://pdbook.com/index.php/excel/index/), mostrou como se podem combinar Ranges através do método UNION, como se pode ver no exemplo que se segue:

2004-11-06
Esta fórmula, que usa uma função de data [Agora()], dá o número da semana actual, desde o início do ano:

Subscrever:
Mensagens (Atom)