ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Clearing target cells: (https://www.excelbanter.com/excel-programming/355906-clearing-target-cells.html)

charles

Clearing target cells:
 
Hi,

This program works great except for when I clear any cell in the target
range a (Run-Time error €˜1004: Application-defined or object-defined error)
message pops up. Can this be rewritten to except a blank cell or cell
E5=1,E6=2 and so on when cells are cleared of players names.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E5:E16")) Is Nothing Then
Worksheets(Target.Row - 2).Name = Target.Value
End If

End Sub

Thanks Charles.

Dave Peterson

Clearing target cells:
 
There are lots of other things that could go wrong--besides just emptying that
cell. If you put something in that cell that is invalid in a worksheet name
(colon, slash, backslash or even an existing worksheet name), your code will get
sick.

Maybe just trying and catching the error would be better.

Private Sub Worksheet_Change(ByVal Target As Range)

'only one cell at a time!
if target.cells.count 1 then exit sub

If Not Intersect(Target, me.Range("E5:E16")) Is Nothing Then
on error resume next 'let it try to rename it
Worksheets(Target.Row - 2).Name = Target.Value
if err.number < 0 then
msgbox "something bad happened!"
beep
err.clear
end if
on error goto 0
End If

End Sub



Charles wrote:

Hi,

This program works great except for when I clear any cell in the target
range a (Run-Time error €˜1004: Application-defined or object-defined error)
message pops up. Can this be rewritten to except a blank cell or cell
E5=1,E6=2 and so on when cells are cleared of players names.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E5:E16")) Is Nothing Then
Worksheets(Target.Row - 2).Name = Target.Value
End If

End Sub

Thanks Charles.


--

Dave Peterson

charles

Clearing target cells:
 


"Dave Peterson" wrote:

There are lots of other things that could go wrong--besides just emptying that
cell. If you put something in that cell that is invalid in a worksheet name
(colon, slash, backslash or even an existing worksheet name), your code will get
sick.

Maybe just trying and catching the error would be better.

Private Sub Worksheet_Change(ByVal Target As Range)

'only one cell at a time!
if target.cells.count 1 then exit sub

If Not Intersect(Target, me.Range("E5:E16")) Is Nothing Then
on error resume next 'let it try to rename it
Worksheets(Target.Row - 2).Name = Target.Value
if err.number < 0 then
msgbox "something bad happened!"
beep
err.clear
end if
on error goto 0
End If

End Sub



Charles wrote:

Hi,

This program works great except for when I clear any cell in the target
range a (Run-Time error €˜1004€„¢: Application-defined or object-defined error)
message pops up. Can this be rewritten to except a blank cell or cell
E5=1,E6=2 and so on when cells are cleared of players names.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E5:E16")) Is Nothing Then
Worksheets(Target.Row - 2).Name = Target.Value
End If

End Sub

Thanks Charles.


--

Dave Peterson

Dave,

Thank you for fixing my problem and pointing out other existing handicaps
with this program. Its working great now.

Thanks again.

Charles,



All times are GMT +1. The time now is 10:02 PM.

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