Skip to Content
Programming Excel with VBA and .NET
book

Programming Excel with VBA and .NET

by Jeff Webb, Steve Saunders
April 2006
Beginner
1114 pages
98h 16m
English
O'Reilly Media, Inc.
Content preview from Programming Excel with VBA and .NET

Respond to Excel Events in .NET

Responding to Excel events in .NET code is done much the same way as in Excel VBA, but with one difference: In .NET, event procedures are associated with objects using the Handles clause. Excel uses the procedure name to associate an event with an object. The .NET approach means that a single procedure can handle multiple events.

To respond to Excel events in .NET:

  1. Declare a WithEvents variable for the Excel object, providing the events at the class level. For example, the following code declares a worksheet with events:

    Dim WithEvents m_ws As Excel.Workbook
  2. Assign the variable an instance of the object for which to handle events. For example, the following code hooks up the events for the first worksheet in a workbook (created in earlier examples):

    m_ws = wb.Worksheets(1)
  3. Select the m_ws object from the object list at the top of the Code window and then select an event from the event list. Visual Studio creates a new, empty event procedure.

  4. Write code to respond to the event.

For example, the following code sorts any string entered in cell A2 and displays the result in B2. It may look familiar, since it uses the NetString class created earlier to perform the sort:

Private Sub m_wb_SheetChange(ByVal Sh As Object, _
  ByVal Target As Microsoft.Office.Interop.Excel.Range) _
  Handles m_wb.SheetChange
    If Target.Address = "$A$2" Then
        Dim NetStr As New NetForExcel.NetString
        m_wb.Worksheets(1).Range("B2").Value = NetStr.Sort(Target.Value)
    End If
End Sub
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Excel 2013 Power Programming with VBA

Excel 2013 Power Programming with VBA

John Walkenbach
Excel 2016 Power Programming with VBA

Excel 2016 Power Programming with VBA

Michael Alexander, Richard Kusleika
Excel 2016 VBA and Macros

Excel 2016 VBA and Macros

Bill Jelen, Tracy Syrstad

Publisher Resources

ISBN: 0596007663Errata Page