miércoles, octubre 07, 2009

TRUCOS EXCEL > LO BASICO DE VISUAL BASIC EN EXCEL


Aca les doy unos ejemplos claros de comandos en visual y otros tips para mejorar aun mas el trabajo en Excel, es de uso propio para tablas de estadisticas y/o controles, todo esta en tu habilidad e imaginación de como realmente los deseas usar.

Inclusive puedes crear un registro de clientes, ventas, inventario, etc, con formularios de VB de tal modo que funcione como un programa pero con la diferencia que será creado por tíy para compartirlo no necesitaras de licencia. Quiero aclarar que este aporte es una recopilación de todos los aportes que me han realizado y de lo que he puesto en practica.

A continuación les doy unos ejemplos:

Si deseas crear un formulario para insertar datos en una fila y filas sin necesidad de TABULACION (siguiendo el esquema de la imagen) y que este mismo se reactive posterior al ingreso de los datos y de la fila, puedes seguir este ejemplo:

El boton aceptar debe de llevar el siguiente codigo:

Private Sub CommandButton2_Click()
Dim Fecha As String
Dim Aprobado As String
Dim Plan As String
Dim Plazo As String
Dim Deposito As String
Dim ID As String
Dim NOMBRECLTE As String
Dim Cedula As String
Dim Telefono As String
Dim SIMCARD As String
Dim IMEI As String
Dim MARCA As String
Dim Vendedor As String
Dim ZONA As String
Dim Direccion As String
Fecha = TextBox1
Aprobado = TextBox2
Plan = TextBox3
Plazo = TextBox4
Deposito = TextBox5
ID = TextBox6
NOMBRECLTE = TextBox7
Cedula = TextBox8
Telefono = TextBox9
SIMCARD = TextBox10
IMEI = TextBox11
MARCA = TextBox12
Vendedor = TextBox13
ZONA = TextBox14
Direccion = TextBox15
UserForm3.Label8 = Fecha
UserForm3.Label9 = Aprobado
UserForm3.Label10 = Plan
UserForm3.Label11 = Plazo
UserForm3.Label12 = Deposito
UserForm3.Label13 = ID
UserForm3.Label14 = NOMBRECLTE
UserForm3.Label15 = Cedula
UserForm3.Label16 = Telefono
UserForm3.Label17 = SIMCARD
UserForm3.Label18 = IMEI
UserForm3.Label19 = MARCA
UserForm3.Label20 = Vendedor
UserForm3.Label21 = ZONA
UserForm3.Label22 = Direccion
Unload UserForm2 'Load UserForm3.........MACRO CREADA POR JOSE ORTEGA TUCKLER UserForm3.ShowEnd Sub

*-* OTROS EJEMPLOS *-*

Para activar el autofiltro AUTOMATICAMENTE debes usar el siguiente comando y al mismo tiempo programar las teclas que activaran la macro.

Sub Macro3()

'' Macro3 Macro' Macro grabada el 07/10/2009 por jortega'
' Selection.AutoFilterEnd Sub

Para boton con hipervínculo: (Este lo lleva a otra pagina)

Private Sub CommandButton1_Click()
Hoja2.Activate
End Sub

Cuadro de msg al inicio del libro. (este emitira un cuadro de mensaje)

Private Sub CommandButton3_Click()
MsgBox "Por favor Pulse los botones opcionales para accesar. Gracias!!!", vbInformation, "Autorizaciones Credomatic"

End Sub

Boton con hipervínculo y cuadro de msg (te lleva a otra pagina u libro y emite un cuadro de msg)

Private Sub CommandButton4_Click()
Hoja2.Activate
MsgBox "Por favor utilize las combinaciones (Ctrl + B) para agilizar su busqueda. Gracias!!!", vbInformation, "Autorizaciones Credomatic"
End Sub

Boton para impresión (le puede cambiar aspecto en propiedades)

Private Sub CommandButton5_Click()
Hoja2.PrintOut
End Sub

Este commando se introduce en la hoja de trabajo que activa y procesa el formulario inicio que debe de creado con el nombre “inicio”

Private Sub CommandButton1_Click()
Inicio.Show

End Sub

En el formulario Inicio de diseña el cuadro o presentación , el sig commnad sirve para programar el boton que quitara el cuadro o la presentación , depende del usuario la opcion que programara en dicho boton

Private Sub CommandButton1_Click()
Inicio.Hide
End Sub

Se debe de crear un modulo que indique al programa o inicie los comandos ejemplo. esto es util si requieres que el formulario incie automaticamente al abrir el libro.

Sub Auto_Open()
'Llamamos al formulario "Inicio", al abrir el fichero de excel
Inicio.Show
End Sub

Auto_Open() y Auto_Close()
Existe una macro de autoarranque que se ejecuta cuando se abre el libro. Se llama auto_open().
Y existe otra que se ejecuta justo antes de cerrar el libro que se llama auto_close().

Sub Auto_Open() Dim hora As Double Dim saludo As String hora = (Now - Int(Now)) * 24 Select Case hora Case 6 To 14 saludo = "Buenos días" Case 14 To 21 saludo = "Buenas tardes" Case Else saludo = "Buenas noches" End Select MsgBox saludo & " Amo"End Sub

Equivalente a auto_open existe otra macro Workbook_Open, pero ésta ha de ser guardada no en un módulo normal, sino en ThisWorkbook. Pruebe lo siguiente:

El siguiente procedimiento permite abrir automáticamente el libro Balance.xls al abrir el libro Informe.xls. El procedimiento ha de estar en ThisWorkbook del libro Informe.xls.

Sub Workbook_Open() 'Apertura de libro Balance
Workbooks.Open Filename:="C:/Temp/Balance.xls"
'Activación del libro Informe
Windows("Informe.xls").ActivateEnd Sub

Saludo al arrancar
Crear un libro Personal.xls como se ha indicado anteriormente con la macro de autoarranque siguiente:

Sub Auto_open() MsgBox ("Que tengas un buen día")End Sub
Esta macro creada en el libro Personal.xls hace que al iniciar Excel nos salga un mensaje saludándonos.

Nombrar Hoja desde una celda
Esta macro permite asignar el nombre que pongamos en la celda A1 como nombre de la Hoja actual.
Sub NombreHoja() ActiveSheet.Name = Range("A1").ValueEnd Sub

Proteger con contraseña las macrosAlt + F11Herramientas => Propiedades de VBAProject => Protección => Bloquear proyecto para visualización => Contraseña

Abrir un libro existente:
Sub AbrirLibro()
Workbooks.Open ("C:\Mis documentos\Ejemplo.xls")
End Sub
Activar un libro ya abierto:
Sub ACtivarLibro()
Workbooks("Ejemplo.xls").Activate
End Sub
Crear un libro nuevo:
Sub NuevoLibro()
Workbooks.Add
End Sub

Macro que cierra Excel
Se puede asociar a un botón o a un icono.
Sub Auto_Close() Application.QuitEnd Sub

1 comentario:

  1. algunas aplicaciones de visual basic a excel...funciona tambien para otros programas deberias de intentarlo

    ResponderEliminar