Change event to add button

  • Thread starter Thread starter jamasm2010
  • Start date Start date
J

jamasm2010

Hi,
I am trying to create a worksheet change event where when a user pastes a group of cells onto a page a print button appears on the page. The problem is that the code runs twice (the second when it hits Cells(1,1).Select) and I get an out of memory error on Target.Value. The code is poted below.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1).Select
If Target.Address = "$A$1" And Target.Value <> "" And x = 0 Then
Buttons.Delete
Buttons.Add(624, 15, 48, 15).Select
With Selection
.Caption = "Print"
.OnAction = "Print_Tickets"
End With
x = x + 1
Cells(1, 1).Select
End If
End Sub

So, the question is, how do I get the emphasis taken off of the button, so I don't have to use Cells(1, 1).Select to do it?
Thanks.
James
 
Hi,

I am trying to create a worksheet change event where when a user pastes agroup of cells onto a page a print button appears on the page. The problemis that the code runs twice (the second when it hits Cells(1,1).Select) and I get an out of memory error on Target.Value. The code is poted below.



Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells(1, 1).Select

If Target.Address = "$A$1" And Target.Value <> "" And x = 0 Then

Buttons.Delete

Buttons.Add(624, 15, 48, 15).Select

With Selection

.Caption = "Print"

.OnAction = "Print_Tickets"

End With

x = x + 1

Cells(1, 1).Select

End If

End Sub



So, the question is, how do I get the emphasis taken off of the button, so I don't have to use Cells(1, 1).Select to do it?

Thanks.

James

Not sure if this will do what you want. I assigned the code to keystroke
ctrl + p.

Option Explicit
Sub P_Button()
'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x
Buttons.Delete
Buttons.Add(624, 15, 48, 15).Select
With Selection
.Caption = "Print"
.OnAction = "Print_Tickets"
End With
x = x + 1
Application.CutCopyMode = False
Application.EnableEvents = False
'Cells(1, 1).Select
Application.EnableEvents = True
Cells(1, 1).Select
End Sub

Regards,
Howard
 
Not sure if this will do what you want. I assigned the code to keystroke

ctrl + p.



Option Explicit

Sub P_Button()

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim x

Buttons.Delete

Buttons.Add(624, 15, 48, 15).Select

With Selection

.Caption = "Print"

.OnAction = "Print_Tickets"

End With

x = x + 1

Application.CutCopyMode = False

Application.EnableEvents = False

'Cells(1, 1).Select

Application.EnableEvents = True

Cells(1, 1).Select

End Sub



Regards,

Howard

Howard,
You are a genius! It worked like a charm and I thank you for your help!
James
 
Back
Top