Blog Archive

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
2007-10-05

Se pretendermos apagar a Row que contém a célula activa na Sheet1 e, de igual modo, a Row na Sheet2 que contenha a primeira ocorrência igual à célula activa da Sheet1, podemos utilizar o seguinte Código:


'---------------------------------------------------------------------------------------
' Procedure : Test
' DateTime  : 05-10-2007 17:57
' Author    : JRod
' Purpose   : Apagar Row da célula activa na Sheet1 e 1ª Row da Sheet2
'           : cuja entrada seja igual à célula activa
'---------------------------------------------------------------------------------------
'
Sub Test()
    Dim c As Range, myRange As Range
    On Error Resume Next
    Set myRange = Sheets(2).Range("A1:A100")

    For Each c In myRange
        If c.Value = ActiveCell.Value Then
            c.EntireRow.Delete
        End If
    Next c
    ActiveCell.EntireRow.Delete
End Sub

 

Se quisermos executar o código, a partir do menú que se acede a partir do clicar no botão direito do rato, podemos incluir o seguinte código no Workbook:
 
'---------------------------------------------------------------------------------------
' Procedure : Workbook_Open
' DateTime  : 05-10-2007 18:00
' Author    : JRod
' Purpose   : Abre Macro com click no botão direito do rato
'---------------------------------------------------------------------------------------
'
Private Sub Workbook_Open()

    Dim MyMenu As Object

    Set MyMenu = Application.ShortcutMenus(xlWorksheetCell) _
                 .MenuItems.AddMenu("A minha Macro", 1)

    With MyMenu.MenuItems
        .Add "Test", "Test", , 1, , ""

    End With

    Set MyMenu = Nothing

End Sub

 

Tópicos relacionados: