|May the source be with you, but remember the KISS principle ;-)|
|Contents||Bulletin||Scripting in shell and Perl||Network troubleshooting||History||Humor|
|News||Recommended Links||Recommended Articles||Scripts||Scripting languages||
Windows is the second in history of operating systems OS that has the same macro language and scripting language. The fact that VBA can be used for most Microsoft (and many non-Microsoft) applications make it unique and quite revolutionary among scripting languages despite obvious weaknesses. Only REXX in OS/2 managed to play similar role.
New version of VBA -- VB.NET revitalize Visual Basic making it stronger both in scripting as an application programming language. As Simon St. Laurent wrote in O'Reilly -- VB.NET: Too much too fast?:
...Above all, I don't agree that the .NET platform can be seen as simply an "imposition from without" that was forced on Visual Basic. Instead, VB.NET strikes me as owing its inspiration at least as much (if not more) to the dynamics of VB's own development as to Microsoft's decision to champion the broader .NET platform for ongoing development. The plain fact is that VB was becoming dated as a language, that there was a growing disparity between its original conception and its current usage, that it had lost its original vision, and that as a result its future was uncertain.
It's important to remember that VB was originally introduced as a kind of Windows "drawing program:" You used drag-and-drop techniques to "draw" a user interface (i.e., a form or window with its controls) and then clicked on controls to access event handlers that you could code. With VB, anyone could write a simple Windows program in seconds, and an experienced VB programmer could write a fairly sophisticated program in a couple of hours. In contrast, at the point that VB came out, many experienced C programmers felt that it took a year for the average C programmer to make the transition to C programming for Windows before he or she could write any real production code at all. So VB 1.0 really was a revolutionary product (even though it didn't even begin to realize its promise until VB2 was introduced).
Through six versions, though, VB remained a kind of drawing program for Windows applications. In fact, that characterization is far more true of VB6 than it even was of the original release of VB. Yet, the overwhelming majority of VB programmers no longer writes Windows applications or Windows front ends but instead uses it primarily for component development. VB is now being used for purposes that its original designers hadn't forseen, and for which it really doesn't offer particularly great support.
This is problematic in two respects. First, it means that the existing base of VB developers have a good deal of difficulty in developing some types of technology. For instance, VB6 is not a good tool to use for Web development (except for middle-tier components). All of the attempts to integrate it with ASP, for instance, have been abject failures. Second, Microsoft has traditionally championed the cause of lowering the barrier to entry into the world of programming for non-programmers, and VB has been its flagship product for doing just that. But in recent years, particularly as attention has shifted to the Web and as most new non-programmers have been interested primarily in developing Web applications, VB has lost much of its appeal.
From this perspective, VB.NET represents an attempt to revitalize Visual Basic and to make it once again the broadly based programming language of the future, as well as the tool that offers the greatest ease of use to new programmers. And although I think there are going to be some rough edges to the transition, I personally find Microsoft's reasoning compelling and the new version of Visual Basic exciting. Despite a good deal of grumbling, I believe most VB programmers will eventually feel the same way.
For users and companies who are relying on VBA macros or other customizations built into Word, Excel, etc., they might have a significant reason to stick with Microsoft. [Dec 09, 2004] Show Progress from VBA
When macros take a long time to run, people get nervous. Did it crash? How much longer will it take? Do I have time to run to the bathroom? Relax. This hack shows you two ways to create a macro progress bar using VBA
The Microsoft Office 2000/Visual Basic Programmer's Guide describes how to use the applications and components in Microsoft Office 2000 to build custom solutions. This guide is the definitive resource for developers who are creating custom solutions based on Office applications. From the overall design of your solution to the nitty-gritty details of implementing it, this book tells you what you need to know to get things done quickly and productively.
Part 1 Planning Office Solutions
Chapter 1 Understanding Office Solution Development
Chapter 2 Designing and Deploying Office Solutions
Part 2 Developing Office Solutions
Chapter 3 Writing Solid Code
Chapter 4 Understanding Office Objects and Object Models
Chapter 5 Working with Office Applications
Chapter 6 Working with Shared Office Components
Chapter 7 Getting the Most Out of Visual Basic for Applications
Chapter 8 Error Handling and Debugging
Chapter 9 Custom Classes and Objects
Chapter 10 The Windows API and Other Dynamic-Link Libraries
Chapter 11 Add-ins, Templates, Wizards, and Libraries
Chapter 12 Using Web Technologies
Chapter 13 Adding Help to Your Custom Solution
Part 3 Working with Data in Office Solutions
Chapter 14 Working with the Data Access Components of an Office Solution
Chapter 15 Retrieving and Analyzing Data
Chapter 16 Multiuser Database Solutions
Part 4 Securing Office Solutions
Chapter 17 Securing Office Documents and Visual Basic for Applications Code
Chapter 18 Securing Access Databases
Welcome to Mike's Excel VBA Pages where you can find various applications of VBA for Excel in the fields of statistics, actuarial science and finance. The pages contained on this site may be of interest to people who are learning VBA or its applications in math and finance. The code I provided would give you an informative look into the use of VBA for Excel in probability modeling, simulation and financial modeling.
Welcome to Rob's Excel VBA Pages where you'll find tips and tricks to help you get the most out of your use of VBA in MS Excel versions 5, 7, 8, 9 and 10. You will also find several utilities to extend the functionality of Excel, and the Office developers amongst you will be interested in my Developers Only section where you will find both useful tools and discussions on best practice techniques. The developers' section also contains advice on exploiting VB/VBA's exciting central position in Microsoft's Win32 COM architecture.
If you are a new visitor, before delving further into my site, please take some time to look at the other pages in the Home section:
The What's New page gives you an at-a-glance view of latest developments in my pages.
Some useful and enlightening selected Excel links are available on the Links Page.
The About This Site page gives some background on why this site is here, what it is for, and how it was built and maintained.
Finally, About Me gives a few details about who I am and how I ended up as a VB/VBA/MS Office developer with a special interest in Excel.
Finally, be sure to check out my lighthearted Crash section featuring some of my all-time favourite Excel crashes.
The intent of this page is to show some useful Excel VBA (Visual Basic for Applications) examples that I have picked up in the process of creating my own applications. It is not intended that this page be "state of the art" VBA programming (for that I recommend microsoft.public.excel.programming) but just fairly simple subroutines that illustrate formats and how to use the syntax. Most of these routines I wrote myself, but some were "cloned" from other sources.
Softpanorama hot topic of the month
Send Outlook Mail Message: This sub sends an Outlook mail message from Excel.
Show Index No. & Name of Shapes: To show the index number (ZOrderPosition) and name of all shapes on a worksheet.
Create a Word Document: To create, open and put some text on a MS Word document from Excel.
Find: This is a sub that uses the Find method to find a series of dates and copy them to another worksheet.
Arrays: An example of building an array. You will need to substitute meaningful information for the elements.
Replace Information: This sub will find and replace information in all of the worksheets of the workbook.
Move Minus Sign: If you download mainframe files that have the nasty habit of putting the negative sign (-) on the right-hand side, this sub will put it where it belongs. I have seen much more elaborate routines to do this, but this has worked for me every time.
Counting: Several subs that count various things and show the results in a Message Box.
Selecting: Some handy subs for doing different types of selecting.
Listing: Various listing subs.
Delete Range Names: This sub deletes all of the range names in the current workbook. This is especially handy for converted Lotus 123 files.
Type of Sheet: Sub returns in a Message Box the type of the active sheet.
Add New Sheet: This sub adds a new worksheet, names it based on a string in cell A1 of Sheet 1, checks to see if sheet name already exists (if so it quits) and places it as the last worksheet in the workbook. A couple of variations of this follow. The first one creates a new sheet and then copies "some" information from Sheet1 to the new sheet. The next one creates a new sheet which is a clone of Sheet1 with a new name.
Check Values: Various different approaches that reset values. All of the sheet names, range names and cell addresses are for illustration purposes. You will have to substitute your own.
Input Boxes and Message Boxes: A few simple examples of using input boxes to collect information and messages boxes to report the results.
Printing: Various examples of different print situations.
OnEntry: A simple example of using the OnEntry property.
Enter the Value of a Formula: To place the value (result) of a formula into a cell rather than the formula itself.
Adding Range Names: Various ways of adding a range name.
For-Next For-Each Loops: Some basic (no pun intended) examples of for-next loops.
Hide/UnHide: Some examples of how to hide and unhide sheets.
Just for Fun: A sub that inserts random stars into a worksheet and then removes them.
Unlock Cells: This sub unlocks all cells that do NOT contain a formula, a date or text and makes the font blue. It then protects the worksheet.
Tests the values in each cell of a range and the values that are greater than a given amount are placed in another column.
Determine the "real" UsedRange on a worksheet. (The UsedRange property works only if you have kept the worksheet "pure".
Events: Illustrates some simple event procedures.
Dates: This sub selects a series of dates (using InputBoxes to set the start/stop dates) from a table of consecutive dates, but only lists/copies the workday dates (Monday-Friday).
Passing Arguments: An example of passing an argument to another sub.
oreilly.com -- Online Catalog Visual Basic 2005 A Developer's Notebook
oreilly.com -- Online Catalog Programming Visual Basic 2005
oreilly.com -- Online Catalog VB.NET Language in a Nutshell, Second Edition
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes. If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner.
ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least
Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.
Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: September 12, 2017