The best way to build your own VBA library

D

deltaquattro

Hi guys,

I was dabbling with the following great piece of code, courtesy of
Chip Pearson:

Sub DeleteSheets(SheetsToKeep As Variant, _
Optional WhichWorkbook As Workbook)
Dim WB As Workbook
Dim Arr() As String
Dim N As Long
Dim V As Variant

If WhichWorkbook Is Nothing Then
Set WB = ThisWorkbook
Else
Set WB = WhichWorkbook
End If
..
..
..

And I came across the following problem: since I put all my general
subroutines in the PERSONAL.xls workbook (so that they are easily
accessed from any other project), ThisWorkbook would be PERSONAL.xls,
no matter which was the workbook from which I called DeleteSheets. I
solved this by changing

Set WB = ThisWorkbook

into

Set WB = ActiveWorkbook

I think this is the only way, if I don't want to include the Sub
DeleteSheets into each workbook which uses it. Am I right? And more
importantly, how do you manage your own Excel VBA library? Do you
store all your modules inside PERSONAL.xls or is there a better way?
Thanks,

Best Regards

deltaquattro
 
G

Gord Dibben

I like sticking everything into a workbook then saving as an Add-in.

No worries about getting "this workbook contains macros" because Add-ins are
inherently trusted.

No need to qualify the macro with a workbook name like
Personal.xls!macroname.

You can edit your existing macros to refer to ActiveWorkbook


Gord Dibben MS Excel MVP
 
D

deltaquattro

Hi Gord,

that's some fine suggestion: thank you! I'll do it right away. I've
seen that saving as an Add-in is easy, it's just the last voice of the
Save As menu (in my Excel 2000). I will also edit the macros to refer
to ActiveWorkbook. Thanks again,

Best Regards

Sergio
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top