Jumat, 03 Mei 2013

RE: [ExcelVBA] Problem: sort sheets according to two sets of criteria

 

Get hold of MZ-Tools, it can add line numbers, and it can count lines.

-----Original Message-----
From: ExcelVBA@yahoogroups.com [mailto:ExcelVBA@yahoogroups.com] On Behalf
Of Louise Gariépy
Sent: 03 May 2013 23:18
To: ExcelVBA@yahoogroups.com
Subject: Re: [ExcelVBA] Problem: sort sheets according to two sets of
criteria

Hi again Paul,

I hope that all that you write to me helps others too, because I feel I am
taking much of your attention, and I start to feel bad, like if I was
receiving private lessons.

1. Counting the VBA lines:

I will try it not only for the fun of it, but because this is
TOTALLY new to me.
I like you always use UCase when comparing string. This is something
that I will start doing.

2. About Text Pad.
Pleeeaaase, do not take my Text Pad away from me!
I bought it in 1997, had all the upgrades for free, and this here I
started writing my first HTLM, then my first JS, and all those Internet
languages.
I promise, Mr Professor, I will try all those mysterious (for me)
features of the VBE.

So yes I'll try, but I doubt this will completely replace my Text
Pad: I need the libraries too much, and this I have tried to do in the VBE,
and it's really not comparable. And all the other features. It takes as much
place of my life as Excel.

3. Option explicit.
I do use Option Explicit, although not all the time, but this is not
really to prevent typos: I would make so many anyway, that once I have
created a name, I do not write it twice, I copy paste all the time.

Thank you again.

Louise G.


Le --03052013 à 08:19, Paul Schreiner <schreiner_paul@att.net> a écrit :

> wow!
> thanks for the compliments!
> I'll try to address a couple of questions and comments:
> ----------------------------------
> Counting VBA lines:
> ----------------------------------
> Unfortunately, there's no SIMPLE way of counting the lines.
> There IS a VBA "property" (or "method"?) that does though!
>
> Each Workbook can have a VB Project.
> Each VBProject has Components
> Each Component has a CodeModule
> and each CodeModule has a CountOfLines property!
> wow... that's a stretch.
>
> So, what I do is open all of the workbooks that I want to count the VBA
lines.
>
> Then use this to cycle through all open workbooks:
> For Each w In Workbooks
> If (UCase(Left(w.Name, Len("Personal.xls")))
> <>
> UCase("Personal.xls")) Then
> Workbooks(w.Name).Activate
> rcnt = rcnt + 1
> ThisWorkbook.Sheets("VBA
> Macros").Cells(rcnt, "A").Value = ActiveWorkbook.Name
> ThisWorkbook.Sheets("VBA
> Macros").Cells(rcnt, "B").Value = CountAllMacros_Summary
> End If
> Next w
>
> The CountAllMacros_Summary function looks like:
>
> Public Function CountAllMacros_Summary()
> Dim vbaModule 'As VBProject.VBComponents
> Dim VBComp, tmp, TTL, lcnt
> Set vbaModule = ActiveWorkbook.VBProject.VBComponents
> TTL = 0
> Application.StatusBar = "Counting Modules..."
> Application.EnableEvents = False
> For Each VBComp In vbaModule
> lcnt =
> ActiveWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule.CountOfLines
> TTL = TTL + lcnt
> Next VBComp
> Application.EnableEvents = True
> Application.StatusBar = False
> CountAllMacros_Summary = TTL
> End Function
> ----------------------------------------------------------
> -------------------------------------------------------
>
> I have a similar option that gives me a detail list of lines in each
> code module instead of the total lines for the workbook.
>
> ----------------------------------------------------------
> --------- You said that you write in TextPad for the line numbers and
> libraries, then asked about debugging..
>
> Oh MY!!!
> I think once you get really used to the VBEditor, you'll no longer
> need to use TextPad!
>
> Here's a couple of tips:
> First, right-click on the "Menu bar" and be sure to turn on "Debug",
> "Edit" and "Standard".
>
> "Dock" any of these toolbars that are "floating" underneath the rest
> of the icons.
>
> There are several of these that REALLY come in handy!
> First of all, some of the colors are "configurable", so YOUR VBEditor
> might look different than mine.
>
> Bookmarks: Notice the set of blue flags? These are bookmarks. If your
> cursor is on a line and you hit the first blue flag, it places a
> littel blue box in the left-hand border. Now, whenever you're in
> another function or module, hitting the blue flag with the arrow
> (pointing right or left) will step through each of your bookmarks.
> of course, hitting the flag with the "x" will remove all bookmarks.
>
> Breakpoints: If you want to debug a macro, it is sometimes helpful to
> run the macro to a specific point, then halt the execution and step
> through the macro one line at a time. Using the "hand" icon, you set a
"breakpoint".
> It puts a colored circle (mine is maroon) and highlights the line.
> Now, when you run your macro, it will PAUSE when it gets to this
> breakpoint. Instead of using the icon, you can simply click in the
> left-border (where the circle
> appeared) and either turn on or off the breakpoint. (using the menu
> Debug->ClearAllBreakpoints will remove them all, so you don't have to
> Debug->remove
> them one at a time)
>
> Watches: If you right-click on one of your variables, you can select
> to "add Watch". This will place the variable in a "watch window" and
> show you the value of the variable as you step through the macro!
>
> You'll notice that, while the macro is running, the line currently
> being "executed" is highlighted in Yellow, with an arrow in the border.
> If, after you step through the line, the watch variable doesn't show
> what you're expecting, you CAN edit the previous line, then simply
> "drag" the yellow arrow back to the previous line (or before) and step
through again!
> If, for instance, a variable has a value, and you want to change the
> value for testing purposes, you can change it in the Watch Window, and
> continue executing your macro!
>
>
> Variable Declaration.
> Have you ever set a variable to a value, then later tried to use the
> variable and it isn't working, then you discover that you keyed the name
wrong?
> Like:
> Dim NewVariable as String
>
> then:
> NewVariabel = "test"
>
> If, at the top of each Module, you enter the line:
> Option Explicit
>
> This tells the compiler that all variables have to be declared
"Explicitly".
> But it ONLY applies to the current code module. So you need this in
> each module.
> (you can use the menu: Tools->Options and select "Require Variable
Declaration"
> to set the "default")
>
> By declaring all variables, as you type you can tell if you've
> miskeyed something.
> for the variable declared as "NewVariable", if you typed: newvariable
> = "test", the Editor will automatically change the name to: NewVariable.
>
> also, if you've written your code in separate subs or functions, when
> you're USING the function:
> (like: Cells(rcnt, "B").Value = CountAllMacros_Summary) you can
> right-click on the function name and select "Definition", and it will
> take you to the function!
>
> hope this helps...
>
> let me know if you have any more questions (or if I've missed any)
>
>
> Paul
> -----------------------------------------
> "Do all the good you can,
> By all the means you can,
> In all the ways you can,
> In all the places you can,
> At all the times you can,
> To all the people you can,
> As long as ever you can." - John Wesley
> -----------------------------------------
>
>
>
>
> ________________________________
> From: Louise Gariépy <garilou@cgocable.ca>
> To: ExcelVBA@yahoogroups.com
> Sent: Fri, May 3, 2013 2:06:14 AM
> Subject: Re: [ExcelVBA] Problem: sort sheets according to two sets of
> criteria
>
> Hi again, Paul
>>
>> Glad I could help.
>
> You sure did! As I said, I think about you at least 2 times a day!
> It saves me so much time that I sort more often.
>>
>> As for the "X" in:
>>
>> If (Sheets("Source").Cells(R, "B").Value & "X" <> "X") Then
>>
>> I manage nearly 100,000 lines of VBA code spread across several
applications!
>
> Hum, how do you count them?
> I am not only joking: is there a way the see the line numbers in VBE?
> There are still lots of features in the VBE that I do not use because
> I don't know what they are for or how they work.
>
> I am sure I would be more efficient if I mastered this.
>
> I write all my subs first in Text Pad, and I do appreciate the line
> numbers (and also all the pieces of code that I can store in the
> libraries)
>> As you can imagine, troubleshooting problems can be difficult.
>
> This reminds me of an old question a few years ago, with subject : How
> do you debug?
> I did not expect so many replies, but there were, and this helped me a
lot!
>
>>
>> On occasion, I've encountered cases where the "value" in a cell is
"null".
> .............
>
>> .. unless someone asks...
>
> Well I asked and got a good trick that I will use, because as a matter
> of fact, this has happened to me, and I always found workarounds that
> were time consuming.
>
>> ----------------------------------------------------------
>> -----------------------
>> -
>>
>> The other "trick" to speed things up is that I turn off screen updating.
> As for screen updating turned off, maybe it was not written in the
> sample book, but I use this all the time.
> It does not only save time, even if it is the main reason, with screen
> updating off, you don't see things that I not necessarily pretty (on a
> hidden sheet for example). I am glad that I do not work for a client:
> my pages are not always good looking.
>
> As well as calculation turned to manual.
> When I need to refresh 10 queries per page on 40 pages, if it
> calculated each time, not only it would take so long, but some results
> would present a error if all the data are not yet in.
>
>>
>> --------------------
>> Sorting
>> --------------------
>> What I did was perform what is called a "bubble sort".
>
> I had found "bubble sort" in my long googling hours, but no example
> helped me understand how to do it, at least in the case I needed.
> The examples were applied to too simplistic tasks.
>
>> I loaded the array with sheet names and values.
>> I then cycled through the array from first to last and compared the
"value"
>> from
>>
>> one sheet to the next.
>> If the values need to be reversed, I load one set of array contents
>> into the "bubble" and use this to swap values.
>>
>> I COULD have combined the array sort and sheet move into one loop.
>> However, that means that whenever the "values" require the sheets to
>> be "swapped", the actual sheets would be moved, which would take WAY
>> more processing time.
>>
>> ----------------
>> To be honest, we COULD have simply combined the data into one sheet,
>> sorted it in the sheet, and then used VBA to move the sheets into the
proper order.
>
> This was what I was starting to do when I thought I could not do it,
> but I also prefer VBA solutions.
>
> What you did - and it did not come to my mind - is that you did it in 2
steps:
> First sort all according to criteria 2, and only after bring back the
> pages I needed first according to criteria 1.
> This made every thing much more simple.
>>
>> But... I like VBA solutions best!
>>
>> let us know if you need anything else...
>
> I sure will.
> But I really try to find my solutions before I ask.
> When I came here first, I knew so little that I did not even know
> which words to google for.
> Now I am more efficient at finding answers on my own.
> But if you saw all my code lines, you would probably want to re write a
lot!
>
>
>>
>> Paul
>> -----------------------------------------
>> "Do all the good you can,
>> By all the means you can,
>> In all the ways you can,
>> In all the places you can,
>> At all the times you can,
>> To all the people you can,
>> As long as ever you can." - John Wesley
>> -----------------------------------------
>>
>
> I can see that you act - and probably not only on this group -
> according to the text that you use as signature.
> You are really generous, and a good teacher too.
> This is beautiful: another gift from you
>
> Thanks again
>
> Louise
>
>>
>>
>>
>> ________________________________
>> From: Louise Gariépy <garilou@cgocable.ca>
>> To: "ExcelVBA@yahoogroups.com" <ExcelVBA@yahoogroups.com>
>> Sent: Wed, May 1, 2013 10:07:21 PM
>> Subject: Fwd: [ExcelVBA] Problem: sort sheets according to two sets
>> of
> criteria
>>
>> Hi again Paul!
>>
>> Fantastic.
>> As expected, it worked perfectly at the first run on the sample book.
>>
>> Then it took me about 30 minutes to adapt it to the real book.
>> I had to change the first sorting, because I needed the sheets to be
>> sorted from
>>
>> the largest number to the smallest.
>> Then I understood why you were using
>>>> If (Sheets("Source").Cells(R, "B").Value & "X" <> "X") Then.
>>
>> And I tried:
>> If (Sheets("Source").cells(R."B").value > "") then ...
>> and it worked well
>> (I do not have 1000 sheets, and I hope I will never have so many, so
>> the sub runs in about 1/2 sec.
>> To do this - without mistakes - it took me sometimes up to 10 minutes
>> (and the
>
>> sheets that were not on "Source" were not sorted).
>>
>> I thank you so much, I wish so much I could do something to thank you.
>>
>> The only thing that I could offer to you would be to trade stocks for
you.
>>
>> The "A,B,C..." from the sample book are in fact stock tickers.
>> Since I came to this group for the first time, I have not stopped
>> refining my indicators, and this new book helps me to size the
>> positions so that my portfolio is always fully invested with the best
>> performing stocks, and most of
>>
>> all to quickly catch the day winners, bull or bear market!
>> With this new book, I am real good, and beat the markets every day by
>> 0.5% to 1.5%.
>> I am only joking, but my son has invested a few thousand dollars in my
"Fund"
>> and he is really pleased.
>>
>> So every night, when I will reallocate my portfolio, I'll have a good
>> thought for you.
>>
>> Till the next time,
>>
>> Louise
>>
>>
>>
>>
>>
>>
>>
>>
>> Début du message réexpédié :
>>
>>> De : Louise Gariépy <garilou@cgocable.ca> Objet : Rép : [ExcelVBA]
>>> Problem: sort sheets according to two sets of
>> criteria
>>> Date : 1 mai 2013 20:19:45 HAE
>>> À : ExcelVBA@yahoogroups.com
>>> Répondre à : ExcelVBA@yahoogroups.com
>>>
>>> Hi Paul,
>>>
>>> First, sorry for the empty message.
>>> I am not familiar with this mail program, and I do stupid mistakes.
>>>
>>> Wow!
>>>
>>> You did much more then I was asking, (I did not ask for a complete
code).
>>> But the main reason I asked to the group was to come out of my
>>> habits and try
>
>>> to learn something new, here it is!
>>> I knew I should sort the array, and I did not know how.
>>> I am so glad.
>>> Now I have concrete to work with.
>>>
>>> I am not sure if I understand the "X" in:
>>>> If (Sheets("Source").Cells(R, "B").Value & "X" <> "X") Then
>>>
>>>
>>> but let me think a little bit.
>>>
>>> I will study and try the code and give you feedback.
>>>
>>> Yes I will remove the sheet "Problem Description", but in the real
>>> book, I have
>>>
>>> 4 sheets before the "A,B,C..." sheets to sort.
>>>
>>> Thank you so much! Once it is done, it will save me so much time
>>> and
>> mistakes!
>>>
>>> Louise
>>>
>>> Le --01052013 à 11:47, Paul Schreiner <schreiner_paul@att.net> a écrit :
>>>
>>>> Louise,
>>>>
>>>> Here's what I came up with.
>>>> it's not really "efficient", but it gets the job done.
>>>> If I knew that the values in A1 of each sheet were NUMERIC, and the
>>>> range of values, then I might be able to make it run more
>> efficiently.
>>>>
>>>> Even so, I created some test data (1000 sheets) and it ran in about
>>>> 5
>> seconds.
>>>>
>>>> Here's what I came up with:
>>>> The premise is to load the sheet names and values from (A1) into an
>>>> array and
>>
>>
>>>> sort the array based on the A1 values.
>>>> Skipping sheets with the name "Source" and "Problem Description".
>>>>
>>>> Then, move the sheets to the "end" of the workbook based on this array.
>>>> Next, move the sheets in your "special" list to the front. (in
>>>> reverse
> order)
>>>>
>>>> Note: I used .Move After:=Sheets(2) which would put them after the
>>>> 2nd sheet, which is "Problem Description"
>>>> If you remove that sheet, and want the sheets to appear after the
>>>> first sheet,
>>>
>>>
>>>> then change Sheets(2) to Sheets(1).
>>>>
> ----------------------------------------------------------
> -------
>>>> Option Explicit
>>>> Sub SortSheets()
>>>> Dim R, nRows, sht, inx
>>>> Dim ShtArray(1500, 1)
>>>> Dim SortFlag, LoopCnt
>>>> Dim tmpval0, tmpval1
>>>> On Error GoTo 0
>>>> '------------------------------------------------------
>>>> ' Load Sheet Names and Values (from Cell A1) into array
>>>> '------------------------------------------------------
>>>> inx = -1
>>>> For Each sht In Sheets
>>>> If ((UCase(sht.Name) <> UCase("Source")) _
>>>> And (UCase(sht.Name) <> UCase("Problem description"))) Then
>>>> inx = inx + 1
>>>> ShtArray(inx, 0) = sht.Name
>>>> ShtArray(inx, 1) = sht.Cells(1, 1).Value
>>>> End If
>>>> Next
>>>> '---------------------------------------
>>>> ' Sort Array by Values
>>>> '---------------------------------------
>>>> SortFlag = True
>>>> LoopCnt = 0
>>>> While SortFlag And LoopCnt < 1000000
>>>> LoopCnt = LoopCnt + 1
>>>> SortFlag = False
>>>> For inx = 0 To UBound(ShtArray) - 1
>>>> If ((ShtArray(inx, 0) <> "") And (ShtArray(inx + 1, 0)
>>>> <> ""))
>> Then
>>>> If (ShtArray(inx, 1) > ShtArray(inx + 1, 1)) Then
>>>> tmpval0 = ShtArray(inx, 0)
>>>> tmpval1 = ShtArray(inx, 1)
>>>> ShtArray(inx, 0) = ShtArray(inx + 1, 0)
>>>> ShtArray(inx, 1) = ShtArray(inx + 1, 1)
>>>> ShtArray(inx + 1, 0) = tmpval0
>>>> ShtArray(inx + 1, 1) = tmpval1
>>>> SortFlag = True
>>>> Exit For
>>>> End If
>>>> End If
>>>> Next inx
>>>> Wend
>>>> '----------------------
>>>> ' Move Sheets
>>>> '----------------------
>>>> Application.ScreenUpdating = False
>>>> For inx = 0 To UBound(ShtArray)
>>>> If (ShtArray(inx, 0) <> "") Then
>>>> Sheets(ShtArray(inx, 0)).Move After:=Sheets(Sheets.Count)
>>>> Else
>>>> Exit For
>>>> End If
>>>> Next inx
>>>> '-----------------------------------------------
>>>> ' Move first sheets from "First" list to front
>>>> '-----------------------------------------------
>>>> nRows = Sheets("Source").Cells(1, 1).SpecialCells(xlLastCell).Row
>>>> For R = nRows To 1 Step -1
>>>> If (Sheets("Source").Cells(R, "B").Value & "X" <> "X") Then
>>>> ' Sheets(Sheets("Source").Cells(R, "B").Value).Move
>>>> Before:=Sheets(1)
>>>> Sheets(Sheets("Source").Cells(R, "B").Value).Move
> After:=Sheets(2)
>>>> End If
>>>> Next R
>>>> Application.ScreenUpdating = True
>>>> Sheets("Source").Select
>>>> MsgBox "Finished"
>>>> End Sub
>>>>
>>>>
> ----------------------------------------------------------
> -------
>>>> Paul
>>>> -----------------------------------------
>>>> "Do all the good you can,
>>>> By all the means you can,
>>>> In all the ways you can,
>>>> In all the places you can,
>>>> At all the times you can,
>>>> To all the people you can,
>>>> As long as ever you can." - John Wesley
>>>> -----------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> ________________________________
>>>> From: Louise Gariépy <garilou@cgocable.ca>
>>>> To: ExcelVBA@yahoogroups.com
>>>> Sent: Wed, May 1, 2013 7:05:35 AM
>>>> Subject: Re: [ExcelVBA] Problem: sort sheets according to two sets
>>>> of
>> criteria
>>>>
>>>>
>>>> Hi, David,
>>>> Thank you for trying.
>>>> But this does not solve my problem.
>>>> Or in other words, yes this list that you suggest was generated in
>>>> the sheet
>
>>>> "Problem description". (Columns M and N)
>>>>
>>>> I was hoping to find a method to go directly from the columns B and
>>>> C, (Criteria
>>>>
>>>> 1) and E and F (criteria 2) to the sheet sorting process.
>>>> I guess if the whole cannot be done in one step, I will keep on
>>>> with my not too
>>>>
>>>>
>>>> elegant program that I have started, generating all columns that
>>>> were illustrated in that sheet.
>>>>
>>>> From there on, it will not be too difficult with the:
>>>> sheets(s).move after.
>>>> to move the sheets with the largest numbers to the end.
>>>>
>>>> I guess that if I could not find the solution while googling for so
>>>> long, it
>
>>>> was
>>>>
>>>> because there was no way to do it.
>>>> Thanks anyway.
>>>> This gave me the opportunity to say hello to everyone ;-)
>>>>
>>>> Louise
>>>>
>>>> Le --27042013 à 20:29, David Grugeon <yahoo@grugeon.com.au> a écrit :
>>>>
>>>>> Hi Louise
>>>>>
>>>>> I think the easiest way to do this is to create a list of the
>>>>> sheet names in order, then step through this list in order moving
>>>>> each sheet to the end. I think you would use something like
>>>>>
>>>>> Sheets(s).move after:=Sheets(Sheets.Count)
>>>>>
>>>>> Put this in a loop which picks up the next sheetname as s.
>>>>>
>>>>>
>>>>> On 28 April 2013 09:27, garilou <garilou@cgocable.ca> wrote:
>>>>>
>>>>>> Hi group, and all the genius programmers!
>>>>>>
>>>>>> I have not been asking much for quite a long time, but I keep
>>>>>> programming almost every day.
>>>>>>
>>>>>> David has put on the group page a sample sheet that I have
>>>>>> prepared to better explain what I am trying to do.
>>>>>> As I told David, I have Googled for days, and all what I found
>>>>>> were programs to sort alphabetically, which is not what I need.
>>>>>> ==============================
>>>>>>
>>>>>> I have a workbook with more almost 40 data sheets.
>>>>>>
>>>>>> I must rearrange those sheets at least once a day: when there
>>>>>> were only 5 to 10, I made it manually, but it took a long time,
>>>>>> and I made so many mistakes that the rest of the tasks did not work.
>>>>>>
>>>>>> The sheets must be ordered according to 2 sets of criteria.
>>>>>>
>>>>>> Between 1 and maximum 10 sheets must be ordered first, in an
>>>>>> order determined on another sheet (« source »). (Criteria 1)
>>>>>>
>>>>>> The other ones must be ordered according to a number (between 20
>>>>>> and 100) that I have set in cell A1 from every sheet of the
>>>>>> sample book. (Criteria
>> 2)
>>>>>>
>>>>>> For the sake of this sample, I have created those values with a
>>>>>> random formula.
>>>>>>
>>>>>> "In real life", this could be more complicated, because some
>>>>>> sheets could have the same value in cell A1, but those could be
>>>>>> placed side by side, with no special order.
>>>>>>
>>>>>> The names on sheet «Source » are different every day, as well as
>>>>>> the value in Cell A1 of the other sheets.
>>>>>>
>>>>>> I do not expect any one to write the whole program for me, but if
>>>>>> I could get some methods to follow, steps to go through, some
>>>>>> keywords that I
> could
>>>>>> Google that would help me find a solution.
>>>>>>
>>>>>> Then I might try and come back with more specific questions.
>>>>>>
>>>>>> Thank you to all who will be so kind to look at this.
>>>>>>
>>>>>> Louise
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------
>>>>>>
>>>>>> ----------------------------------
>>>>>> Be sure to check out TechTrax Ezine for many, free Excel VBA
>>>>>> articles! Go
>>>>>> here: http://www.mousetrax.com/techtrax to enter the ezine, then
>>>>>> search the ARCHIVES for EXCEL VBA.
>>>>>>
>>>>>> ----------------------------------
>>>>>> Visit our ExcelVBA group home page for more info and support files:
>>>>>> http://groups.yahoo.com/group/ExcelVBA
>>>>>>
>>>>>> ----------------------------------
>>>>>> More free tutorials and resources available at:
>>>>>> http://www.mousetrax.com
>>>>>>
>>>>>> ----------------------------------Yahoo! Groups Links
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> [Non-text portions of this message have been removed]
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------
>>>>>
>>>>> ----------------------------------
>>>>> Be sure to check out TechTrax Ezine for many, free Excel VBA articles!
Go here:
>>>>>
>>>>>
>>>>> http://www.mousetrax.com/techtrax to enter the ezine, then search
>>>>> the ARCHIVES
>>>>
>>>>
>>>>> for EXCEL VBA.
>>>>>
>>>>>
>>>>> ----------------------------------
>>>>> Visit our ExcelVBA group home page for more info and support files:
>>>>> http://groups.yahoo.com/group/ExcelVBA
>>>>>
>>>>> ----------------------------------
>>>>> More free tutorials and resources available at:
>>>>> http://www.mousetrax.com
>>>>>
>>>>> ----------------------------------Yahoo! Groups Links
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [Non-text portions of this message have been removed]
>>>>
>>>>
>>>>
>>>> ------------------------------------
>>>>
>>>> ----------------------------------
>>>> Be sure to check out TechTrax Ezine for many, free Excel VBA articles!
Go here:
>>>>
>>>> http://www.mousetrax.com/techtrax to enter the ezine, then search
>>>> the ARCHIVES
>>>
>>>> for EXCEL VBA.
>>>>
>>>>
>>>> ----------------------------------
>>>> Visit our ExcelVBA group home page for more info and support files:
>>>> http://groups.yahoo.com/group/ExcelVBA
>>>>
>>>> ----------------------------------
>>>> More free tutorials and resources available at:
>>>> http://www.mousetrax.com
>>>>
>>>> ----------------------------------Yahoo! Groups Links
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> ----------------------------------
>>> Be sure to check out TechTrax Ezine for many, free Excel VBA articles!
Go here:
>>>
>>> http://www.mousetrax.com/techtrax to enter the ezine, then search
>>> the ARCHIVES
>>
>>> for EXCEL VBA.
>>>
>>>
>>> ----------------------------------
>>> Visit our ExcelVBA group home page for more info and support files:
>>> http://groups.yahoo.com/group/ExcelVBA
>>>
>>> ----------------------------------
>>> More free tutorials and resources available at:
>>> http://www.mousetrax.com
>>>
>>> ----------------------------------Yahoo! Groups Links
>>>
>>>
>>>
>>
>>
>>
>> [Non-text portions of this message have been removed]
>>
>>
>>
>> ------------------------------------
>>
>> ----------------------------------
>> Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go
here:
>>
>> http://www.mousetrax.com/techtrax to enter the ezine, then search the
>> ARCHIVES
>
>> for EXCEL VBA.
>>
>>
>> ----------------------------------
>> Visit our ExcelVBA group home page for more info and support files:
>> http://groups.yahoo.com/group/ExcelVBA
>>
>> ----------------------------------
>> More free tutorials and resources available at:
>> http://www.mousetrax.com
>>
>> ----------------------------------Yahoo! Groups Links
>>
>>
>>
>> [Non-text portions of this message have been removed]
>>
>>
>>
>> ------------------------------------
>>
>> ----------------------------------
>> Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go
here:
>> http://www.mousetrax.com/techtrax to enter the ezine, then search the
>> ARCHIVES for EXCEL VBA.
>>
>>
>> ----------------------------------
>> Visit our ExcelVBA group home page for more info and support files:
>> http://groups.yahoo.com/group/ExcelVBA
>>
>> ----------------------------------
>> More free tutorials and resources available at:
>> http://www.mousetrax.com
>>
>> ----------------------------------Yahoo! Groups Links
>>
>>
>>
>
>
>
> ------------------------------------
>
> ----------------------------------
> Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go
here:
> http://www.mousetrax.com/techtrax to enter the ezine, then search the
> ARCHIVES for EXCEL VBA.
>
>
> ----------------------------------
> Visit our ExcelVBA group home page for more info and support files:
> http://groups.yahoo.com/group/ExcelVBA
>
> ----------------------------------
> More free tutorials and resources available at:
> http://www.mousetrax.com
>
> ----------------------------------Yahoo! Groups Links
>
>
>
> [Non-text portions of this message have been removed]
>
>
>
> ------------------------------------
>
> ----------------------------------
> Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go
here: http://www.mousetrax.com/techtrax to enter the ezine, then search the
ARCHIVES for EXCEL VBA.
>
> ----------------------------------
> Visit our ExcelVBA group home page for more info and support files:
> http://groups.yahoo.com/group/ExcelVBA
>
> ----------------------------------
> More free tutorials and resources available at:
> http://www.mousetrax.com
>
> ----------------------------------Yahoo! Groups Links
>
>
>

------------------------------------

----------------------------------
Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go
here: http://www.mousetrax.com/techtrax to enter the ezine, then search the
ARCHIVES for EXCEL VBA.

----------------------------------
Visit our ExcelVBA group home page for more info and support files:
http://groups.yahoo.com/group/ExcelVBA

----------------------------------
More free tutorials and resources available at:
http://www.mousetrax.com

----------------------------------Yahoo! Groups Links

__._,_.___
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (6)
Recent Activity:
----------------------------------
Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go here: http://www.mousetrax.com/techtrax to enter the ezine, then search the ARCHIVES for EXCEL VBA.

----------------------------------
Visit our ExcelVBA group home page for more info and support files:
http://groups.yahoo.com/group/ExcelVBA

----------------------------------
More free tutorials and resources available at:
http://www.mousetrax.com

----------------------------------
MARKETPLACE


.

__,_._,___

Tidak ada komentar:

Posting Komentar