ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete Line Macro - IF Function (https://www.excelbanter.com/excel-programming/322723-delete-line-macro-if-function.html)

PW11111

Delete Line Macro - IF Function
 

Hi,

I'm trying to create a macro that deletes a line from a spreadsheet i am
developing. The code is below, its works fine but I would like to specify
rows that the macro will not delete.

I need to know the code that specifies either - to end the macro if a
specific row is chosen for deletion. Or even better would be the code that
specifies that the macro will only delete a line within a specific named
range.


Application.ScreenUpdating = False
ActiveSheet.Unprotect "gpro"
varAnswer = MsgBox("Delete Line?", vbOKCancel, "Please Confirm")
If varAnswer = 1 Then
If Range("D17") = "2" Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Rows("180:180").Select
Selection.EntireRow.Hidden = True
Range("E13").Select
Else
End If
Else: End
End If
ActiveSheet.Protect "gpro", DrawingObjects:=True, Contents:=True,
Scenarios:=True

End help would be great.
Phil

K Dales[_2_]

Delete Line Macro - IF Function
 
Assuming your named range is called "ProtectedRange" I would do it like this:

varAnswer = MsgBox("Delete Line?", vbOKCancel, "Please Confirm")
If ((varAnswer = 1) and
Application.Intersect(Range("ProtectedRange"),Sele ction) Is Nothing) Then ...

The Intersect method sees if there is any "overlap" between the selected
range and the range you want to protect from deletion - if none, then do the
delete...
HTH

"PW11111" wrote:


Hi,

I'm trying to create a macro that deletes a line from a spreadsheet i am
developing. The code is below, its works fine but I would like to specify
rows that the macro will not delete.

I need to know the code that specifies either - to end the macro if a
specific row is chosen for deletion. Or even better would be the code that
specifies that the macro will only delete a line within a specific named
range.


Application.ScreenUpdating = False
ActiveSheet.Unprotect "gpro"
varAnswer = MsgBox("Delete Line?", vbOKCancel, "Please Confirm")
If varAnswer = 1 Then
If Range("D17") = "2" Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Rows("180:180").Select
Selection.EntireRow.Hidden = True
Range("E13").Select
Else
End If
Else: End
End If
ActiveSheet.Protect "gpro", DrawingObjects:=True, Contents:=True,
Scenarios:=True

End help would be great.
Phil



All times are GMT +1. The time now is 05:27 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com