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
2006-04-27
Se pretendermos efectuar um filtro, utilizando dados provenientes de determinadas células, como no exemplo:





podemos utilizar um pouco de Código VBA:


'---------------------------------------------------------------
' Procedure : Filtra_Click
' DateTime  : 24-04-2006 19:07
' Author    : JRod
' Purpose   : Efectua um filtro por data anterior ou posterior
'           : (célula I3) à data inscrita na célula I5
'           : Se I5 for vazio, desfaz o filtro
'---------------------------------------------------------------
'
Private Sub Filtra_Click()

    Dim myStartDate

    Range("F6:F700").Select
    myStartDate = Worksheets(1).Cells(5, 9).Value

    If myStartDate = "" Then
        Selection.AutoFilter
        Range("K1").Select
    Else
        Selection.AutoFilter Field:=1, Criteria1:=Worksheets(1).Cells(3, 9).Value & _
                                                  CLng(Worksheets(1).Cells(5, 9).Value), Operator:=xlAnd
        Range("K1").Select
    End If

End Sub
O denominado Microsoft Mobile & Embedded Devcon 2006 Europe (MEDC), vai ter lugar em Nice, de 6 a 8 de Junho próximos.

Para melhor informação, pode aceder-se às páginas:

Microsoft Mobile & Embedded Devcon 2006 Europe;

MEDC I;

MEDC II;

MS-Mobiles.com


Também se pode ver mais qualquer coisa em Paul Mooney.

Se estiverem interessados, será uma boa ocasião para troca de ideias e ouvir os experts na matéria.
2006-04-10
Se quisermos saber o nome do utilizador e a data e hora do acesso a determinado workbook, como no exemplo:



Obteremos o seguinte resultado:

Nome02

O Código do exemplo:

Sub Auto_Open()
    Dim Ops(1 To 5) As String
    Dim Msg As String

    Ops(1) = Day(Date)
    Ops(2) = Month(Date)
    Ops(3) = Year(Date)
    Ops(4) = Hour(Time)
    Ops(5) = Minute(Time)


    Msg = Ops(3) & "-" & Ops(2) & "-" & Ops(1) & " " & Ops(4) & ":" & Ops(5)

    Sheets("Sheet1").Select

    Range("A65536").Select
    Selection.End(xlUp).Select    ' Selecciona a última célula não vazia do Range
    ActiveCell.Offset(1, 0).Select    ' Selecciona a primeira célula vazia do Range

    Application.Cursor = xlNormal

    Do While IsEmpty(ActiveCell)
        ActiveCell.Value = InputBox(Prompt:="Introduza o seu NOME:", _
                                    Title:="Nome do Utilizador")
        ActiveCell.Value = UCase(ActiveCell)    ' Transforma em letras maiúsculas
    
    Loop
    
        Range("B65536").Select
        Selection.End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = Msg
    End

End Sub


2006-04-06
Um dia destes, foi-me perguntado, por mail, qual a fórmula que permite contar as ocorrências de um caracter numa célula. Exemplo:
Quantos caracteres "." tem na célula A1 cujo conteúdo é 01.02.03.04? A célula A1 neste caso é do tipo texto. O resultado deveria ser 3.

Utilizando as Funções LEN() e SUBSTITUTE(), obtém-se o resultado desejado:



A fórmula em B1:

=LEN(A1)-LEN(SUBSTITUTE(A1;".";""))

(em Português):

=NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;".";""))