|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better
|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.
Google matched content
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
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. 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: March 12, 2019