PDA

View Full Version : VBA range



Zack
09-13-2012, 01:28 PM
How to achieve printing of the particular selection of pages (25-30 for example) with the macro combined with the msgbox prompting for the desired page range?

fumei
09-13-2012, 01:45 PM
Why do you want a messagebox prompting for the page range? Will they know it? I thought you wanted to print a Section?
ActiveDocument.PrintOut Pages:="s2"prints Section2. Regardless of the number of pages, or their page numbers.

Frosty
09-13-2012, 01:45 PM
Hoo boy... have you done searches on this particular topic? The concept of "pages" in Word is a very nebulous one.

Did you know you can manually print a page range using the File > Print dialog? P25-P30 typed manually into that dialog will do what you're trying to achieve.

From there, you could try recording that macro to see what the code is.

Why don't you try that (and perhaps do some searches on how pages vs. sections work in this forum and others) and that should give you some background.

It's a big topic, and I don't really want to rehash that discussion when it already exists on this forum multiple times.

Zack
09-13-2012, 01:50 PM
Why do you want a messagebox prompting for the page range?

Excellent question. To shorten the way of ctrl+p, page range 25-30 etc.

fumei
09-13-2012, 02:51 PM
Except if you want to just print the section there is no need.

Zack
09-13-2012, 09:49 PM
Except if you want to just print the section there is no need.

Perhaps, but I would still like to see if it is possible.

Zack
09-14-2012, 09:16 AM
I tried to create it myself but doesn't seem to work

lCopiesPrintFrom = InputBox( _
Prompt:="From which page?", _
Title:="Page Range", _
Default:="20-25")

Frosty
09-14-2012, 09:24 AM
Try recording a macro in which you print page 5 only.

Zack
09-14-2012, 12:37 PM
Try recording a macro in which you print page 5 only.


ActivePrinter = "Microsoft XPS Document Writer"
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="5", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub

fumei
09-14-2012, 01:20 PM
It is absolutely possible.

Take a good look at the difference between your code for page 5 and
lCopiesPrintFrom = InputBox( _
Prompt:="From which page?", _
Title:="Page Range", _
Default:="20-25")

Zack
09-14-2012, 02:30 PM
It is absolutely possible.

Take a good look at the difference between your code for page 5 and
lCopiesPrintFrom = InputBox( _
Prompt:="From which page?", _
Title:="Page Range", _
Default:="20-25")


I am not certain what to put insted of lCopiesPrintFrom.

Something that would mark range, but what..?

fumei
09-14-2012, 02:44 PM
Ummmm, is not - from the recorded macro - page 5 in the, ummmm, Pages parameter?

Zack
09-14-2012, 02:59 PM
Ummmm, is not - from the recorded macro - page 5 in the, ummmm, Pages parameter?

PrintRangeOfPages?

I don't know what else.

Frosty
09-14-2012, 04:18 PM
Where the number "5" is, is where you'd put you string. But you should read the print dialog to see the allowed strings you can give it

This is the way to learn. See what you can do manually. Then record it. Then manually modify.

fumei
09-14-2012, 05:55 PM
Make a string variable.
Make it equal the result of your inputbox.
Use it with the Pages parameter.

It is a good idea to read up on the printout methgod.

macropod
09-15-2012, 12:02 AM
It is a good idea to read up on the printout methgod.
Interesting concept - methgod. Sounds like something a terminal alcoholic might pray to.

Zack
09-15-2012, 12:02 AM
Make a string variable.
Make it equal the result of your inputbox.
Use it with the Pages parameter.

It is a good idea to read up on the printout methgod.

Do you have an example of how the string variable should look like?

Frosty
09-15-2012, 08:42 AM
Zack, you hve to do the work on this. The concept of pages in word is really tricky. There is no perfect generic solution. So you have to figure out what is going to work for your documents, and how to adjust the code for your documents.

We're not trying to be obtuse, but if you did a search on just this forum, you would see numerous examples.

The best way for you to figure this out, is to go from that recorded macro that prints out just page 5, to a recorded macro that prints out pages 5 & 6. Try to do it manually, until you get it to work, and then record the macro.

Compare that from the one that just printed out page 5... And you'll be pretty close to *your* solution for this tricky problem. But it's only your solution. Printing specific pages is a hard topic.

Zack
09-15-2012, 09:28 AM
I am not a VBA expert, hopefully there is a solution to this issue.

If it can't be wrote in VBA or if it would take too much time and effort to create it let it go.

I was curious, but I understand you people have lives. You can't spend 10 hours writing VBA codes, especially since Frosty says it's hard.

fumei
09-15-2012, 01:17 PM
I am not a VBA expert, hopefully there is a solution to this issue.
You do not need to be an expert as this is quite basic. There is no hope involved. There IS a solution.


If it can't be wrote in VBA or if it would take too much time and effort to create it let it go.
It most certainly can be written in VBA, and no it does not take a lot of effort. But it does take SOME effort on your part.

I was curious, but I understand you people have lives. You can't spend 10 hours writing VBA codes, especially since Frosty says it's hard.

Curiosity is good...follow that. While dealing with pages themselves is a bit convoluted (which is what I think Frosty is mentioning), what you are trying to do is not hard at all.

You want to - if I understand correctly - have a variable (taken from an inputbox) used in printing.

Frosty - "Printing specific pages is a hard topic." Ummmmm, not in this case. If the specific pages are numeric i.e. pages 5-7. Identifying specific pages can be difficult yes. But if it is simply I want to print pages 5-7, or 20-25, I would have to disagree - that is not hard.

Zack, look up Inputbox in Help. This shows you how to declare a variable (MyValue), and how to make that equal the result of the Inputbox. Now use it
ActiveDocument.PrintOut Pages:=MyValue

macropod - not sure an alcoholic moving to meth is a good idea...

Frosty
09-15-2012, 02:44 PM
What I meant is that the overall pages concept can be tricky when you are dealing with multiple sections. If the sections are defined to restart the number at page 1, then you're going to have to do trial and error to figure out how to print page 5 of section 2, when it's actually the 7th page of the document. Printing a specific page from the print dialog box is (if I recall correctly) always the absolute page of a document, not the relative page of a section.
So without sample documents, we can only give you the tools to be able to try and solve this on your own specific environment with your own specific documents. That is why this thread has so many responses. Because the answer is not always the same for all scenarios.

That's why any time someone asked questions related to pages, they get training on how to find the answer themselves, rather than just answers.

Does thy make sense, Zack?

fumei
09-15-2012, 04:20 PM
Oh my yes, if you are dealing with multiple sections; or sections with renumbering, there are many issues.

Yes a specific page in the print dialog is absolute.

Unless stated otherwise it appears that Zack's document does not deal with multiple sections, just the one - Section 2.

Paul_Hossler
09-15-2012, 07:46 PM
http://support.microsoft.com/kb/826218

"How to print a range of pages in a multiple-section document in Word 2010, in Word 2007, and in Word 2003"


Both the online help and the MS KB say that "p2s2-p3s2" should print pages 2 and 3 of section 2, but the recorded macro and the manual version do not seem to work.

The Printer Queue flashes for a second but nothing comes out


Sub Macro2()
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentWithMarkup, Copies:=1, Pages:="p2s2-p3s2", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub


Paul

fumei
09-15-2012, 09:48 PM
And Section renumbers at 1? And there is a page 2 and 3?

Zack
09-15-2012, 10:38 PM
Oh my yes, if you are dealing with multiple sections; or sections with renumbering, there are many issues.

Yes a specific page in the print dialog is absolute.

Unless stated otherwise it appears that Zack's document does not deal with multiple sections, just the one - Section 2.

Exactly, just one section..

Absolute print dialog is what I need. It's strange no one ever asked for something similar..

What chance do I have of creating it if Frosty found difficulties with it..?

Paul_Hossler
09-16-2012, 06:46 AM
And Section renumbers at 1? And there is a page 2 and 3?



MS KB -- Printing pages in relation to their section depends on how the numbering is formatted. If the numbering in the document is set as continuous, referencing page 1 of a particular section most likely does not result in anything being printed. This occurs because, when the numbering is formatted as continuous, the page numbers in all sections except the first do not start with page 1. In this case, the page would have to be referenced according to its overall position in the documents page collection.


I'm not sure how the OP's document is numbered, but when I re-start page numbering at 1 for a section, the P2S2-P4S2 print range works as expected

So formatting the string for .Pages based on an user's Input as others have suggested might be made to work if section 2 starts renumbering at 1:

P20S2-P25S2

Otherwise if not, I'd think that "P20-P25" would work even if 20-25 are in a different section (based on the MS KB)


Paul

fumei
09-16-2012, 10:56 AM
"What chance do I have of creating it if Frosty found difficulties with it..?"

Ummm, Frosty did not find difficulties with it. And, as stated, it is not that difficult if you are dealing with one section, and no renumbering.

Have you actually tried getting a string variable (never mind the inputbox for now) used in the Pages parameter?

Zack
09-16-2012, 01:17 PM
"What chance do I have of creating it if Frosty found difficulties with it..?"

And, as stated, it is not that difficult if you are dealing with one section, and no renumbering.

Have you actually tried getting a string variable (never mind the inputbox for now) used in the Pages parameter?

Do you have an example of a similar string variable?

fumei
09-16-2012, 01:42 PM
For heavens sake, I have suggested you to look at Help for Inputbox on how to get and use a string variable.

I am done here. You are not even trying. One last time...

Declare a string variable by using Dim.
Give it a value by using variable = value (in quotation marks)
Pages:= variable.

I am done. Good luck.

Paul_Hossler
09-16-2012, 01:49 PM
How to achieve printing of the particular selection of pages (25-30 for example) with the macro combined with the msgbox prompting for the desired page range?


Zack - Just a question for clarification

In your original post, you asked about a 'selection', not 'section'

In Word, both terms have specific meanings which not be the 'everyday' ones

Are you looking to have the user enter a start and end page number and then just print that?

As you can tell, printing can be tricky, and just the Start/End could be made to work for a simply structured document, but for a multi-section document document with a variety of page (re)numbering, it's not that simple.

Paul

Zack
09-16-2012, 10:05 PM
Are you looking to have the user enter a start and end page number and then just print that?


That's right. Just to enter a start and an end page number. No sections.

fumei
09-17-2012, 01:26 AM
I will ask again. Have you actually tried putting in "20-25" into Pages? Does it work?

If it does, try it again using a string variable = "20-25". Does it work?

Zack
09-17-2012, 08:56 AM
I will ask again. Have you actually tried putting in "20-25" into Pages? Does it work?

If it does, try it again using a string variable = "20-25". Does it work?

Dim "20-25" As String


Like this?

Frosty
09-17-2012, 09:39 AM
Zack, this almost seems like trolling.

Forget VBA. There are books you can get on the subject. You want to print a range of pages. I repeat-- forget VBA.

In the File > Print dialog (same thing you did to record a macro to print page 5)... can you simply print pages 5-6?

If you can-- then record a macro and do it again. Compare that recored macro to the macro you recorded to print *only* page 5.

That is the only task you should do, at the moment, if all you want to do is be able to print a range of pages.

If you can post that code, and see the difference between the macro which prints page 5, and the macro which prints pages 5 and 6 of your document... then we're getting somewhere.

But stop throwing things against the wall with your posts in such a random fashion. You won't be a programmer at the end of this thread. But you *should* have a better ability to solve your own Word problems.

Zack
09-17-2012, 10:55 AM
That is the only task you should do, at the moment, if all you want to do is be able to print a range of pages.


I am trying to use Dim as suggested. I don't know if I did it right..or how should I do it..

gmaxey
09-17-2012, 11:11 AM
Example:

Sub Simple()
'This is a string variable declared using the "Dim" statement.
Dim strDemo As String
'This defines the string value.
strDemo = "If you are going to post claiming what you tried, then post what you tried." & vbCr + vbCr
'This employs the variable string in a Msgbox function
If MsgBox(strDemo & "Can you do that please?", vbQuestion + vbYesNo, "Help Us Help You!") = vbYes Then
MsgBox "Thank you."
Else
MsgBox "Like Fumei, I'm done and should never have started." & vbCr + vbCr _
& "You should find another forum to troll.", vbInformation + vbOKOnly, "STOP TROLLING"
End If
End Sub

Paul_Hossler
09-17-2012, 11:30 AM
1. In the VBA editor, under Help, searching for 'Dim' brings up an explaination and examples:



Remarks
Variables declared with Dim at the module level (http://vbaexpress.com/forum/ms-help://MS.WINWORD.DEV.12.1033/WINWORD.DEV/content/HV01200929.htm) are available to all procedures within the module (http://vbaexpress.com/forum/ms-help://MS.WINWORD.DEV.12.1033/WINWORD.DEV/content/HV01200929.htm). At the procedure level (http://vbaexpress.com/forum/ms-help://MS.WINWORD.DEV.12.1033/WINWORD.DEV/content/HV01200929.htm), variables are available only within the procedure.
Use the Dim statement at module or procedure level to declare the data type of a variable. For example, the following statement declares a variable as an Integer.
Dim NumberOfEmployees As Integer


2. Likewise in Help, there are examples of how to use the 'Inputbox function'

3. If you don't have a [Developer] tab where you can record macros, then go to Word Options, and check 'Show Developer tab on the Ribbon" (assuming you're using 2007/2010)

4. As others have suggested, record a small macro to just print some pages to see the code generated by Word.

5. Edit the recorded code to incorporate information from the Dim and the Inputbox help examples.

Paul

Frosty
09-17-2012, 11:32 AM
Greg has provided an excellent example.

You will need to do the work from here on, rather than simply trying whatever it is you think you should try, responding to whatever you want to respond to, rather than actually trying to solve your problem.

The problem is not how we communicate... the problem is your lack of desire to try and solve your problem the way we are trying to solve your problem.

You have everything you need to solve your original problem. It is up to you now.

I won't reply unless you do the following:
1. Attempt to print pages 5-6 manually, and then post the recorded macro of that attempt.
2. Attempt to utilize greg's macro combined with the usage of an InputBox in the earlier posts, and get that macro to show a message box of the same string you get from your post on #1.

If you authentically try to solve your own problems-- you will get an enormous amount of help from this forum.

If you are unwilling to do that, or are simply trolling to see how many regular posters you can get to try and tell you exactly the same thing... then you will get zero help from this forum. There are only 5-6 regular posters. If you alienate all of them, you might as well start with a new user name and try again.

fumei
09-17-2012, 02:51 PM
"I am trying to use Dim as suggested. I don't know if I did it right..or how should I do it.."

This is a flat out untruth. no one suggested it like that. What I very much DID suggest was to look at Inputbox in Help to see how variables are declared and used. Or, as was also suggested look up Dim in Help. There is NO example that uses Dim like that. You are being useless in making any effort. It would take a minimum of effort to determine how to use Dim.

Either trolling or a blind inability to do anything at all.

fumei
09-17-2012, 05:54 PM
Or...hmmmmm, could the reasons that can not be discussed be a school assignment??? In any case Zack, congratulations, you have successfully annoyed all the top posters in the forum.

Zack
09-19-2012, 08:25 AM
Greg has provided an excellent example.

You will need to do the work from here on, rather than simply trying whatever it is you think you should try, responding to whatever you want to respond to, rather than actually trying to solve your problem.

The problem is not how we communicate... the problem is your lack of desire to try and solve your problem the way we are trying to solve your problem.

You have everything you need to solve your original problem. It is up to you now.

I won't reply unless you do the following:
1. Attempt to print pages 5-6 manually, and then post the recorded macro of that attempt.
2. Attempt to utilize greg's macro combined with the usage of an InputBox in the earlier posts, and get that macro to show a message box of the same string you get from your post on #1.

If you authentically try to solve your own problems-- you will get an enormous amount of help from this forum.

If you are unwilling to do that, or are simply trolling to see how many regular posters you can get to try and tell you exactly the same thing... then you will get zero help from this forum. There are only 5-6 regular posters. If you alienate all of them, you might as well start with a new user name and try again.

I will attempt it ASAP. I have my doubts about 2. but I will still try.

Zack
09-21-2012, 08:34 AM
No good, doesn't work.

Frosty
09-21-2012, 08:39 AM
Haha. You're a troll. Well played, I guess.

Zack
09-21-2012, 11:25 AM
Haha. You're a troll. Well played, I guess.

Not trolling, I just can't use VBA code properly. I tried it, but it won't work.

Frosty
09-21-2012, 11:41 AM
If you're not trolling for effect, then you should try reading the entire post and following the instructions. For example, what does the instruction #1 (which you quoted in its entirety before) say to do? Did you do that?

Or did you just post "uhh, doesn't work."

*WHAT* doesn't work? What have you tried? What has failed?

As far as the evidence of this thread and your replies tells us, you might as well have thrown food at your monitor and are reporting that this is an ineffective way to print specific pages in a document.

Is your computer plugged in? Do you have microsoft word installed? Did you start Word? Do you have a document open? Does it contain 6 pages? Did you display the File Print dialog? Did you read the options available in the file print dialog? Did you attempt to print out pages 5-6? Did that work? Did you record a macro doing that action? Did you post that macro?

Those questions are all currently unanswered... except for the last one: you did *not* post that macro, as previously requested.

You will get no help from me in this thread until you attempt that. I have already unsubscribed myself from the other thread where you have demonstrated an amazing lack of effort when attempting to engage people who are trying to help you... for free.

I would suggest paying someone to train you how to use Microsoft Word. Or visit the microsoft website and go through some of their learning modules. It is very robust, and covers a number of topics you clearly have zero knowledge of.

I will repeat: yours is not a problem with VBA. Yours is a problem of some combination of lack of understanding and lack of effort. Understanding can come. We can not provide you with motivation.

Your next post determines whether I unsubscribe (and thus, stop responding) to this thread.

Good luck!

Zack
09-21-2012, 01:28 PM
Is your computer plugged in? Do you have microsoft word installed? Did you start Word? Do you have a document open? Does it contain 6 pages? Did you display the File Print dialog? Did you read the options available in the file print dialog? Did you attempt to print out pages 5-6? Did that work? Did you record a macro doing that action? Did you post that macro?

Those questions are all currently unanswered... except for the last one: you did *not* post that macro, as previously requested.

You will get no help from me in this thread until you attempt that.

ActivePrinter = "Microsoft XPS Document Writer"
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="5-6", PageType:= _
wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
End Sub

This is the recorded macro.

Frosty
09-21-2012, 01:29 PM
Did it work?

Zack
09-21-2012, 01:32 PM
Did it work?

Yes, this macro works.
But I need an input box with range options..

Frosty
09-21-2012, 01:37 PM
Does that macro work to print pages 5-6 of a document that isn't a test document (i.e., documents you would want to use the finished macro on)?

Zack
09-21-2012, 01:42 PM
Does that macro work to print pages 5-6 of a document that isn't a test document (i.e., documents you would want to use the finished macro on)?

It does, yes.

Frosty
09-21-2012, 01:43 PM
What is amazing to me is that you already posted the code to do this.

When you type in the input box, you will need to actually type "25-30" without the quotes. You will need to include the dash character as well as the page number range. But you may want to remove the line of code which sets the ActivePrinter, as this macro would force you to use the Microsoft XPS Document Printer every time, rather than whatever printer you currently have selected.

But that is your decision. If your response to this post is "doesn't work" then I will not be able to help you, sorry.


Sub Demo()
Dim sPagesToPrint As String

sPagesToPrint = InputBox("Print what pages?" & vbCr & "ex: 5-6", "VBAX Macro", "5-6")

'sets the active printer
ActivePrinter = "Microsoft XPS Document Writer"

'printout using the sPagesToPrint variable, with the values form the InputBox
Application.PrintOut FileName:="", _
Range:=wdPrintRangeOfPages, _
Item:=wdPrintDocumentContent, _
Copies:=1, _
Pages:=sPagesToPrint, _
PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, _
Collate:=True, _
Background:=True, _
PrintToFile:=False, _
PrintZoomColumn:=0, _
PrintZoomRow:=0, _
PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0

'original recorded macro, cleaned up and commented out
'Application.PrintOut FileName:="", _
Range:=wdPrintRangeOfPages, _
Item:=wdPrintDocumentContent, _
Copies:=1, _
Pages:="5-6", _
PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, _
Collate:=True, _
Background:=True, _
PrintToFile:=False, _
PrintZoomColumn:=0, _
PrintZoomRow:=0, _
PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub

Zack
09-21-2012, 01:52 PM
It works as usual..

But how was I supposed to get to this:

sPagesToPrint = InputBox("Print what pages?" & vbCr & "ex: 5-6", "VBAX Macro", "5-6")

I don't even know what vbCr is..

Frosty
09-21-2012, 02:19 PM
You don't need VbCR, that's just for making it pretty (that is a line break character).

You just needed to look up InputBox in the VBA help file, which was suggested earlier in this thread, as well as examples of InputBox in your other thread.

In short, you just need to read the posts of the people trying to help you. If you re-read this thread and your other thread, you will see that my post putting it all together could easily have been accomplished by you with a modicum of effort at attempting to understand.

You recorded a macro which printed out page 5. In that short bit of vba, there was clearly something that said "5"
You recorded a macro which printed out pages 5 and 6. In that short bit of vba, there was clearly something that said "5-6"
There were posts talking about looking up InputBox in the help.

There are two basic kinds posters who request help on this forum and meet with some degree of success:
1. People who already know a lot, and just need to be pointed in the right direction.
2. People who know very little, but are willing to learn.

You have been neither of those types, at least in these two threads. I have no idea what you are like as a person, but you have made it very difficult to help you--for free--with your lack of effort, your posting of entire previous posts in quotes combined with some variation of a one line response of your own: "it didn't work" -- and nothing else.

In short, you seem like the kind of person who should be paying for people to do this work for you, because you seem entirely disinterested in learning how to do it yourself.

This is not a judgement of your character as a person, but rather a judgement of your effort as a poster on this forum.

It is a waste of everyone's time to pretend to want answers--for free--without any desire to learn how to accomplish these tasks for yourself.

For me, the reason I post answers to questions is to help people help themselves become better at solving their own problems. In this thread, I've failed at that task, and am simply providing the answer so that I don't feel any obligation to answer you in the future, now that I know the kind of poster from your only two threads on this forum. You have managed to generate 120+ posts, all of which boil down to something along the lines of: "it didn't work, I don't know anything, how could I possibly know anything because I don't know anything!"

You are welcome to change my mind in your next thread, but it will require effort on your part. To have success at getting your questions answered in forums like this, you must bring 90% of the effort in diagnosing and defining the problem. Knowledge is the easy part. Lack of knowledge is no excuse. That is simply experience, and will come with time.

Willingness to learn and try and get better can not be provided by anyone except you.

Good luck.

fumei
09-21-2012, 03:34 PM
I will second all of that. Zack you have been given ALL of the tools and information needed to make this work. If things do not work for you then YOU - and only you - are responsible for that failure. Not VBA. Not anyone here who has (in my opinion) wasted their time on you.

You have repeatedly asked how to get something from an inputbox into the pages parameter in order to get pages 20-25 (or whatever range of pages) to print. You have repeatedly been pointed to how to do that.

The fact you still appear to not get it is an obvious indication of out and out laziness.

Your other posts re-enforce this.

You are abusing this forum. Smarten up or I will formally ask that you be removed from this forum.

QUOTE Frosty:
"This is not a judgement of your character as a person, but rather a judgement of your effort as a poster on this forum."

Jason (Frosty) is much kinder and understanding than I am. Frankly, I think it IS a judgement of your character as a person. With all the pointers and attention paid to you, I think to ignore help, to abuse the help over and over again IS a reflection of character. There have been many many people who have come here knowing zero about using VBA, but who have tried to learn. Who have made effort to learn, to think and improve themselves and their abilities. It is what makes it fun and worthwhile for those of us who try and help them. Because we know that at one time WE were the same. Knowing little but wanting to know more. We do it because we feel it is right and proper to pass on knowledge.

Knowledge can not be fed to someone. It can only be offered, a gift so to speak. Gifts can be ignored, and fair enough. But gifts that are refused at the same time the person offered the gift repeatedly demands MORE gifts - or worse, the SAME gift - well that is abuse.

I will say it again.

You are abusing this forum. Smarten up or I will formally ask that you be removed.