Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 93
Default Automation Events

In Visual Basic, how do I code this statement, xl.SheetSelectionChange = "Newx" to trap the selection change event

Private Sub Form_Load(
Set xl = CreateObject("Excel.Application"
xl.Workbooks.Ad
xl.SheetSelection.Change = "Newx
xl.Cells(1, 4).Selec
End Su

Sub Newx(
' ... cod
End Su

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Automation Events

xl.SheetSelection.Change = "Newx"

is not very descriptive. What functionally are you trying to do?

--
Regards,
Tom Ogilvy



"AA2e72E" wrote in message
...
In Visual Basic, how do I code this statement, xl.SheetSelectionChange =

"Newx" to trap the selection change event ?

Private Sub Form_Load()
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Add
xl.SheetSelection.Change = "Newx"
xl.Cells(1, 4).Select
End Sub

Sub Newx()
' ... code
End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 93
Default Automation Events

Excel has several events; I use the one that I have referred to earlier, SheetSelectionChange.

I want to be able to say:

xl.SheetSelectionChange = "Newx" i.e set the SheetSelectionChange event to run the sub "Newx"; it should be trigerred when I execute xl.Cells(1,2).Select i.e change the selection.

Thsi is a trivial example: the principal should apply to more useful Excel events, such as BeforeClose etc.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default Automation Events

You can't assign event handlers to macros. You have to use the
event handling code itself. Create a class module named
CExcelEvents with code like the following:

Public WithEvents XL As Excel.Application

Private Sub XL_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Range)
' your event handler code here
End Sub

Then, in your start up code, instantiate that class and assign
your Excel application reference to the XL variable in the class.
E.g., in a standard code module,

Dim XLEvents As CExcelEvents
Sub StartExcelEvents()
Set XLEvents = New CExcelEvents
Set XLEvents.XL = your_XL_application
End Sub


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





"AA2e72E" wrote in message
...
Excel has several events; I use the one that I have referred to

earlier, SheetSelectionChange.

I want to be able to say:

xl.SheetSelectionChange = "Newx" i.e set the

SheetSelectionChange event to run the sub "Newx"; it should be
trigerred when I execute xl.Cells(1,2).Select i.e change the
selection.

Thsi is a trivial example: the principal should apply to more

useful Excel events, such as BeforeClose etc.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 63
Default Automation Events

Hi AA2e72E,
You can do:
Sub Form_Load()
Set xl = CreateObject("Excel.Application")
Set wbk = xl.Workbooks.Add
Set cmd = wbk.VBProject.VBComponents(wbk.Sheets(1).Name).Cod eModule
With cmd
..InsertLines .CountOfLines + 1, "Private Sub Worksheet_Selection" _
& "Change(ByVal Target As Range)"
..InsertLines .CountOfLines + 1, "Call Newx"
..InsertLines .CountOfLines + 1, "End Sub"
..InsertLines .CountOfLines + 1, ""
..InsertLines .CountOfLines + 1, "Sub Newx"
..InsertLines .CountOfLines + 1, "MsgBox ""Hello !"", 64"
..InsertLines .CountOfLines + 1, "End Sub"
End With
xl.Visible = True
End Sub

Regards,
MP

"AA2e72E" a écrit dans le message de
...
In Visual Basic, how do I code this statement, xl.SheetSelectionChange = "Newx"

to trap the selection change event ?

Private Sub Form_Load()
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Add
xl.SheetSelection.Change = "Newx"
xl.Cells(1, 4).Select
End Sub

Sub Newx()
' ... code
End Sub



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
events? [email protected] Excel Discussion (Misc queries) 1 September 14th 05 03:26 PM
Is there a way to turn events on or off? Angus Comber[_2_] Excel Programming 1 November 6th 03 01:11 PM
events Mark[_17_] Excel Programming 1 October 31st 03 09:18 AM
events Mark[_17_] Excel Programming 1 October 29th 03 12:56 PM
Workbook Events Geoff[_8_] Excel Programming 0 September 13th 03 09:28 AM


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

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

About Us

"It's about Microsoft Excel"