Excel screenupdating not working
The following code has been adjusted to use that progress bar. It is neither necessary nor desirable to write a text string to the clipboard in order to write it to the document. As you will no doubt gathered I am a novice at VBA and this attempt was just trying to emulate what I would do manually.
You can download a userform to do this from my web site - Extract the files from the zip and import to the VBA project.
Range Dim o Frm As frm Progress Dim Portion Done As Double On Error Go To Err_Exit str Text To Insert = "Annual bonus rates for the last five years" str Text To Find = "Discharge Pack" Set doc To Open = Application.
Sub Insert Text() Dim Doc As Document, str Text To Insert As String, str Text To Find As String Dim i As Long, doc To Open As File Dialog, s Hght As Single Dim rng To Search As Word.
It appears that you want to locate the text "Discharge Pack" and insert a paragraph break after it and write the text to the start of that new paragraph. Execute(Find Text:=str Text To Find, Match Case:=True) rng To Search. Close Save Changes:=wd Save Changes Do Events Next Unload o Frm Application.
You just have to set the range you have defined to the place where the text is to be inserted. Collapse 0 Exit Do 'If you only want to process the first instance Loop End With Doc. Thank you for the progress indicator code and the tip on how to do this better and, I am always keen to learn new things if it will help me in life.
One thing you may want to do with your macro to make it run faster and to prevent distracting flashes on the screen is to turn off screen updating while the macro is running.
The following macro lines will, respectively, turn off screen updating and then turn it back on in a VBA macro.
The idea is to use the first line near the beginning of your macro, and then use the second line near the end.
Much better than staring at an unchanging screen for 40 seconds (that would be like watching the microwave for 40 seconds -- it takes forever).
Another program for others runs through about 25 steps. Status Bar text can be updated with anything throughout the macro - plain text, calculated completion precentages, elapsed time, etc.
Search for excel screenupdating not working:
For that, I post and update a userform for each step with a text message with the elapsed time, the number and name of each step, and a progress bar. Also, if the program quits, a screen snapshot tells me where the macros quit working on that user's computer. Don't use "Exit Sub", instead use "Go To End Of Macro" and place this code before "End Sub". Screen Updating = True The same goes for all you do with "Application.***" A simple and less involved method of providing progress updates would be to use the following line of code in the macro: Application. Prior to "End Sub", place this last line of code: Application. Screen Updating = False, the statusbar will change.] This does the side effect that it looks as though Excel has "hung" or crashed, especially if the macros is going to take some time to execute.