Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default delete commandbuttons on copied sheet

I have a procedure run by a commandbutton on 1 worksheet that copies
another worksheet to a 3rd worksheet. The procedure then is supposed
to delete the commandbuttons on the newly copied worksheet. It
deletes the 1st one ok but ends in a 1004 error when trying to delete
the 2nd button. What am I doning wrong...thx


here is the code for the deletion of the objects...

Option Compare Text
Dim strMainWks As String
Dim strTmpWks As String
Dim wsCurWks As Worksheet
Dim rSortRange As Range
Dim rMyRange As Range
Dim rMyCell As Range
Dim rMyDeletion As Range


Sub deletebtns_Click()
Dim wsCurWks As Worksheet
Dim Obj As OLEObject
Set wsCurWks = ActiveSheet


For Each Obj In ActiveSheet.OLEObjects

If InStr(1, Obj.ProgId, "CommandButton") < 0 Then
'MsgBox Obj.ProgId
Obj.Delete
End If
Next Obj
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default delete commandbuttons on copied sheet

Is the button trying to delete itself?

--
Regards,
Tom Ogilvy

"qerj" wrote in message
om...
I have a procedure run by a commandbutton on 1 worksheet that copies
another worksheet to a 3rd worksheet. The procedure then is supposed
to delete the commandbuttons on the newly copied worksheet. It
deletes the 1st one ok but ends in a 1004 error when trying to delete
the 2nd button. What am I doning wrong...thx


here is the code for the deletion of the objects...

Option Compare Text
Dim strMainWks As String
Dim strTmpWks As String
Dim wsCurWks As Worksheet
Dim rSortRange As Range
Dim rMyRange As Range
Dim rMyCell As Range
Dim rMyDeletion As Range


Sub deletebtns_Click()
Dim wsCurWks As Worksheet
Dim Obj As OLEObject
Set wsCurWks = ActiveSheet


For Each Obj In ActiveSheet.OLEObjects

If InStr(1, Obj.ProgId, "CommandButton") < 0 Then
'MsgBox Obj.ProgId
Obj.Delete
End If
Next Obj
End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default delete commandbuttons on copied sheet

Tom...

me again...

thx for the input on the InStr issue...

No, I do not believe it is trying to delete itself. Just as with the
other procedure you helped with, I have a command button on one
worksheet that is performing actions on another worksheet. It 1st
copies a third worksheet to another so I can do some temporary actions
on it while saving the original. The copy works ok, the sort and
deletion of certain rows now works ok, but when I try and delete the 2
commandbuttons that are copied over, it hangs on deleting the 2nd one.
As you may know, when excel 97 copies a worksheet with controls on
it, it gives them new names and does not copy the supporting code. The
result is that I have 2 command buttons that I want to get rid of.

Long story but here is the code again..

Sub btnSortBySRC_Click()

Dim strMainWks As String
Dim strTmpWks As String
Dim wsCurWks As Worksheet
Dim rSortRange As Range
Dim Obj As OLEObject

TakeFocusOnClick = False
strMainWks = "Main Data"
strTmpWks = "Sort Workspace"
ActiveWorkbook.Sheets(strMainWks).Activate
Sheets(strMainWks).Copy After:=Sheets(strMainWks)
ActiveSheet.Name = strTmpWks

Set wsCurWks = ActiveSheet


For Each Obj In wsCurWks.OLEObjects
'MsgBox Obj.ProgId & " " & Obj.Name
If InStr(1, Obj.ProgId, "CommandButton") < 0 Then
Obj.Delete
End If
Next Obj

Set rSortRange = wsCurWks.Range("A3:S96")
rSortRange.Select
rSortRange.Sort Key1:=rSortRange.Columns(8), Order1:=xlAscending

End Sub
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default delete commandbuttons on copied sheet

I created your environment and ran your code and the commandbuttons were
both deleted. I only had two commandbuttons on the sheet and no other OLE
Objects. I am using Excel 97 SR2 - US English.

Since I can't duplicate the problem, I can't really say why you are having
it.

You command
TakeFocusOnClick isn't really doing anything. It sees TakeFocusOnclick as a
variable. You need to set it to

btnSortBySRC.TakeFocusOnClick = false

but it is really too late at that point. I would right click on
btnSortBySRC in design mode and change the property manually. It is
possible that it is true and that is the source of your problem. I had
manually set my property to False.

or you can try changing to

Sub btnSortBySRC_Click()

Dim strMainWks As String
Dim strTmpWks As String
Dim wsCurWks As Worksheet
Dim rSortRange As Range
Dim Obj As OLEObject

ActiveCell.Activate
' TakeFocusOnClick = False

--
Regards,
Tom Ogilvy

"qerj" wrote in message
om...
Tom...

me again...

thx for the input on the InStr issue...

No, I do not believe it is trying to delete itself. Just as with the
other procedure you helped with, I have a command button on one
worksheet that is performing actions on another worksheet. It 1st
copies a third worksheet to another so I can do some temporary actions
on it while saving the original. The copy works ok, the sort and
deletion of certain rows now works ok, but when I try and delete the 2
commandbuttons that are copied over, it hangs on deleting the 2nd one.
As you may know, when excel 97 copies a worksheet with controls on
it, it gives them new names and does not copy the supporting code. The
result is that I have 2 command buttons that I want to get rid of.

Long story but here is the code again..

Sub btnSortBySRC_Click()

Dim strMainWks As String
Dim strTmpWks As String
Dim wsCurWks As Worksheet
Dim rSortRange As Range
Dim Obj As OLEObject

TakeFocusOnClick = False
strMainWks = "Main Data"
strTmpWks = "Sort Workspace"
ActiveWorkbook.Sheets(strMainWks).Activate
Sheets(strMainWks).Copy After:=Sheets(strMainWks)
ActiveSheet.Name = strTmpWks

Set wsCurWks = ActiveSheet


For Each Obj In wsCurWks.OLEObjects
'MsgBox Obj.ProgId & " " & Obj.Name
If InStr(1, Obj.ProgId, "CommandButton") < 0 Then
Obj.Delete
End If
Next Obj

Set rSortRange = wsCurWks.Range("A3:S96")
rSortRange.Select
rSortRange.Sort Key1:=rSortRange.Columns(8), Order1:=xlAscending

End Sub



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default delete commandbuttons on copied sheet

just some more info...

since I was having problems deleting the command buttons I figured I
would just make the visible property = false

worked fine on the 1st button, did not end in error, but the 2nd
button was still visible! I checked it's properties and Visible was
set to "False" but it still was visible...Friday the 13th carried over
to the 15th??!!

Eric


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default delete commandbuttons on copied sheet

That isn't unusual. This can be a redraw problem. It can often be fixed by
putting in lines like these at the end of the macro

Application.ScreenUpdating = False
Application.ScreenUpdating = True

this will often cause the screen to refresh. If that doesn't work, you
might have to revert to an API call.

--
Regards,
Tom Ogilvy

"qerj" wrote in message
om...
just some more info...

since I was having problems deleting the command buttons I figured I
would just make the visible property = false

worked fine on the 1st button, did not end in error, but the 2nd
button was still visible! I checked it's properties and Visible was
set to "False" but it still was visible...Friday the 13th carried over
to the 15th??!!

Eric



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default delete commandbuttons on copied sheet

Tom,

Hard to believe but that was it...set Application.ScreenUpdating =
False before the obj loop and then turned it on ... after and the
buttons were gone.

I reset the code to delete instead of setting .visible to false and
both buttons were deleted...go figure...

Thx much,
Eric
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
copied formulas refer to destination sheet not source sheet Dantron Excel Worksheet Functions 2 October 21st 09 09:51 PM
Delete graphics copied from a Web page Jim Georgia Excel Discussion (Misc queries) 1 October 20th 05 02:47 PM
Delete the formulas of webpage, copied & pasted on excel sheet Mustafa Abedin Excel Discussion (Misc queries) 1 June 19th 05 02:39 PM
Do While, OnTime and CommandButtons John Petty Excel Programming 1 November 23rd 03 12:23 AM
commandbuttons properties Rui[_2_] Excel Programming 2 November 5th 03 04:07 PM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"