About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2007-10-05
206: VBA: EntireRow.Delete & MenuItems.AddMenu
6:07 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
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: