About Me
Seguidores
Estatisticas
186: VBE - Ainda os Comments
Uma pequena adaptação ao post anterior para mostrar como é que se pode apresentar, no comentário, quantos dias já passaram sobre determinada data (cfr. exemplo):
O Código, adaptado:
Private Sub Workbook_Open()
Dim r As Long
Dim temp, temp1 As String
temp = "Atenção!!! Já passaram "
temp1 = " dias sobre o início da baixa!"
For r = Range("C1:C10").Count To 1 Step -1
Range("C" & r).ClearComments
If Range("C" & r) > 26 Then
Range("C" & r).Interior.ColorIndex = 5
Range("C" & r).AddComment
Range("C" & r).Comment.Text Text:=temp & Range("C" & r) & temp1
Range("C" & r).Comment.Visible = True
Else
Range("C" & r).Interior.ColorIndex = xlNone
Range("C" & r).ClearComments
End If
Next r
End Sub
185: VBE - Interior.ColorIndex & Comments
Dim r As Long
Dim temp As String
temp = "Atenção!!! Já passaram mais do que 27 dias sobre o início da baixa!"
For r = Range("C1:C10").Count To 1 Step -1
Range("C" & r).ClearComments
If Range("C" & r) > 26 Then
Range("C" & r).Interior.ColorIndex = 5
Range("C" & r).AddComment
Range("C" & r).Comment.Text Text:=temp
Range("C" & r).Comment.Visible = True
Else
Range("C" & r).Interior.ColorIndex = xlNone
Range("C" & r).ClearComments
End If
Next r
End Sub
NOTA: O Código deve ser inserido no próprio workbook:
184: VBE - Criar mensagem no Outlook a partir do Excel
Private Sub CommandButton1_Click()
Dim oOutlook As Object
Dim oMailItem As Object
Dim oRecipient As Object
Dim oNameSpace As Object
Set oOutlook = CreateObject("Outlook.Application")
Set oNameSpace = oOutlook.GetNameSpace("MAPI")
oNameSpace.Logon , , True
Set oMailItem = oOutlook.CreateItem(0)
Set oRecipient = _
oMailItem.Recipients.Add(Range("F1").Value)
oRecipient.Type = 1
With oMailItem
.Subject = "ATENÇÃO!"
.Body = "Já passaram mais de 3 dias! Contacte o Serviço com urgência!"
.Display
End With
End Sub
O resultado será este:
183: VBE - ActiveCell.Address /Excel Formula SUM()
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim name As String
Dim name1 As String
Dim name2 As String
Dim Start As Long
Cancel = True
name = ActiveCell.Address
name1 = Left(name, 2)
name2 = ActiveCell.End(xlUp).Address
Start = 2
Range(name).Formula = _
"=SUM(" & name1 & Start & ":" & name2 & ")"
End Sub
Nota: A variável Start tem o valor 2, para que o Range se inicie na 2ª linha e não na primeira, em virtude de haver cabeçalho na coluna. Para que a célula não fique activa ao dar-se o duplo click, deu-se a condição True à Propriedade Cancel.
182: VBE - Range.Address
O Código:
Option ExplicitSub FindFirstEmptyCell()
Dim myRange As Range
On Error Resume Next
Set myRange = Range("A:B").SpecialCells(xlCellTypeBlanks)(1)
On Error GoTo 0
If myRange Is Nothing Then
MsgBox "Não existem células vazias no Range!"
Else
MsgBox myRange.Address
End If
Range(myRange.Address).Select
End Sub