Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on whatsapp
Trabajar con Hojas de Microsoft Excel con Macros VBA

Trabajar con hojas en VBA

Para seleccionar una hoja en VBA se debe realizar la siguiente línea de programación

Sheets("Hoja1").Select

Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como WordExcelAccess y Powerpoint. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de unlenguaje orientado a eventos con acceso a la API de Windows.

Al provenir de un lenguaje basado en Basic tiene similitudes con lenguajes incluidos en otros productos de ofimática como StarBasic y Openoffice.

'Ejemplo de SQL con VBA
Sub LoopTableExample
Dim db As DAO.Database
Dim rcs As DAO.Recordset
Set db = CurrentDb
Set rcs = db.OpenRecordset("SELECT * FROM tblMain")
Do Until rcs.EOF
 MsgBox rcs!FieldName
rcs.MoveNext
Loop 

rcs.Close
db.Close
Set rcs = Nothing
Set db = Nothing
End Sub
VBA puede ser usado para crear una función definida por el usuario para usar en una hoja de Microsoft Excel:
Public Function BUSINESSDAYPRIOR(dt As Date) As Date
     Select Case Weekday(dt, vbMonday)
                 Case 1         BUSINESSDAYPRIOR = dt -3
                 Case 7         BUSINESSDAYPRIOR = dt -2
                 Case Else      BUSINESSDAYPRIOR = dt -1
      End Select
End Function

VBA también tiene acceso a funciones internas de Windows en diversos grados, y puede acceder recursos desde horarios hasta archivos y control:

Sub ObtenerFecha()
  MsgBox "La fecha es " & Format(Now(), "dd-mm-yyyy")
End Sub

Se puede acceder al lenguaje al ingresar al menú herramientas. Y una vez allí MACRO y EDITOR DE VISUAL BASIC.

Futuro

El siguiente paso natural en la evolución de VBA es dejar de ser un subconjunto de Visual Basic y serlo de la plataforma .NET. Microsoft no planea hacer mejoras significativas a VBA en el futuro. Aunque continuará dando soporte a las licencias de VBA que se han ido ofreciendo, VBA está siendo sustituido por las Herramientas para Aplicaciones de Microsoft Visual Studio (VSTA: Visual Studio Tools for Applications) y las Herramientas para Office de Microsoft Visual Studio (VSTO: Visual Studio Tools for Office). Estas herramientas funcionan bajo la plataforma .NET. Desde el 1 de julio de 2007, Microsoft ya no ofrece nuevas licencias de VBA a nuevos clientes. Los que poseían una licencia de VBA podrán conseguir una licencia de las nuevas soluciones por parte de Microsoft.

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on whatsapp

Posts Relacionados

0 Comments

No Comment.