ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Verify Active Cell is within a Range that changes as cell is delet (https://www.excelbanter.com/excel-programming/353033-verify-active-cell-within-range-changes-cell-delet.html)

Shannon

Verify Active Cell is within a Range that changes as cell is delet
 
I'd like to verify a cell is within a range of rows prior to allowing the
macro to delete the row. It's easy enough I know if the range of rows is
constant; but if you're deleting the rows within the range - then the range
is shrinking and using constants (as in my example below) probably won't
work. Any ideas?

If ActiveCell.Row 6 AND ActiveCell.Row <30 Then
ActiveCell.Row.Delete Else
MsgBox "Nope - can't delete the row."
End If



Chip Pearson

Verify Active Cell is within a Range that changes as cell is delet
 
How are the row number limits determined? If you have a defined
name for the range, you can write

If Not Application.Intersect(ActiveCell, Range("Your")) Is
Nothing Then
ActiveCell.EntireRow.Delete
End If


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Shannon" wrote in message
...
I'd like to verify a cell is within a range of rows prior to
allowing the
macro to delete the row. It's easy enough I know if the range
of rows is
constant; but if you're deleting the rows within the range -
then the range
is shrinking and using constants (as in my example below)
probably won't
work. Any ideas?

If ActiveCell.Row 6 AND ActiveCell.Row <30 Then
ActiveCell.Row.Delete Else
MsgBox "Nope - can't delete the row."
End If





Jim Thomlinson[_5_]

Verify Active Cell is within a Range that changes as cell is delet
 
You probably want to use a named range as it can gor and shrink as the sheet
is changed. Then you can just check to see if the active cell is within the
named range something like this...

dim rng as range

on error resume next
set rng = intersect(activecell, range("MyRange"))
on error goto 0
if rng is nothing then
activecell.entirerow.delete
else
msgbox "Sorry. No can do"
endif

--
HTH...

Jim Thomlinson


"Shannon" wrote:

I'd like to verify a cell is within a range of rows prior to allowing the
macro to delete the row. It's easy enough I know if the range of rows is
constant; but if you're deleting the rows within the range - then the range
is shrinking and using constants (as in my example below) probably won't
work. Any ideas?

If ActiveCell.Row 6 AND ActiveCell.Row <30 Then
ActiveCell.Row.Delete Else
MsgBox "Nope - can't delete the row."
End If




All times are GMT +1. The time now is 02:04 AM.

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