View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
Bob Phillips Bob Phillips is offline
external usenet poster
 
Posts: 10,593
Default creating an excel add-in

Well ALL of the addins that I write have modules, class modules, and
ThisWorkbook code, so it ain't that.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"James" wrote in message
...
This macro that I have created which I was planning to turn into an add-in
consist of parts that are in the workbook, a module, and a class module.
I
have just tried saving this as a .xla but it does not work when i add it
to
my add-in list.

I am sure it has something to do with the fact that to make this macro
work
I have code written in the workbook, the module, and the class module.
The
othe add-ins that i have created just dealt with the modules and was very
easy to just save it is a .xla file. Hope that is a better explanation.

"Bob Phillips" wrote:

So what is different from that and a 'normal' addin?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"James" wrote in message
...
I know how to create and save simple add-ins but this one is a bit more
extensive and it involves more than just the regular module. I do not
know
how to turn this Macro into a add-in or if it is even possible. Any
help
would be grateful.

'This is the code in the workbook
Private Sub Workbook_Open()
Call TurnOnEvent

End Sub
__________________________________________________ __


'This is the code that is in Module1
Public bEnable As Boolean
Dim myobject As New Class1
Sub TurnOnEvent()
Set myobject.appevent = Application

End Sub



Public Sub RowHighlighter()
If Not bEnable Then
bEnable = True
Else
bEnable = False
End If
End Sub
__________________________________________________ ______________

'This is the code that is in the Class Module (Class1)
Option Explicit

Public WithEvents appevent As Application

Private Sub appevent_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
Static Old As Range
Static colorindxs(1 To 256) As Long
Dim i As Long
If bEnable Then
If Not Old Is Nothing Then
With Old.Cells
If .Row = Target.Row Then Exit Sub
For i = 1 To 256
.Item(i).Interior.ColorIndex = colorindxs(i)
Next i
End With
End If
'Set Old = Cells(Sh.ActiveCell.Row, 1).Resize(1, 256)
Set Old = Cells(Target.Row, 1).Resize(1, 256)
With Old
For i = 1 To 256
colorindxs(i) = .Item(i).Interior.ColorIndex
Next i
.Interior.ColorIndex = 36
End With
End If
End Sub