Codigo Visual Basic for Application
-
Upload
guillermo-ruiz -
Category
Documents
-
view
94 -
download
0
Transcript of Codigo Visual Basic for Application
Guillermo Ruiz
CODIGO VISUAL BASIC FOR APPLICATION
Lenguaje de programación para aplicaciones en Excel
Guillermo Ruiz
Lenguaje de programación
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina.
Guillermo Ruiz
Entrar
• Alt + F11• Programador/ visual basic.
Guillermo Ruiz
Barra de proyecto u objetos
Barra de Propiedades
Guillermo Ruiz
Módulos
• Los módulos contienen el código visual de cada una de las macros creadas por los usuarios.
Guillermo Ruiz
• Sub guardar()
• Range("E4,E6,E8").Select• Range("E8").Activate• Selection.Copy• Sheets("Hoja2").Select• Application.Goto Reference:="R1048576C3"• Selection.End(xlUp).Select• ActiveCell.Offset(1, 0).Range("A1").Select• Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats,
Operation:= _• xlNone, SkipBlanks:=False, Transpose:=True• Sheets("Hoja1").Select• Range("E4").Select• Application.CutCopyMode = False
• End Sub
Guillermo Ruiz
• Sub borrar()• Range("E4").Select• Selection.ClearContents• Range("E6").Select• Selection.ClearContents• Range("E8").Select• Selection.ClearContents• Range("E4").Select• End Sub
Guillermo Ruiz
Macro que pregunta si se desea guardar datos
• Sub SalirAplic() caja = MsgBox("¿Desea guardar datos", vbQuestion + vbYesNo, "Ultima pregunta“)
• If caja = vbyes then• Else• Codigo• End if
Guillermo Ruiz
Código para evitar guardar en blanco
• If range(“e4”).value = "" Then• • MsgBox "Falta digitar informacion", vbCritical +
vbOKOnly, "Incompleto"• • Else•
Guillermo Ruiz
Para localizar la última celda de una lista
• Sub Final() While ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select WendEnd Sub
Guillermo Ruiz
Macro que cierra Excel
Sub Auto_Close()• Application.Quit
End Sub
Guillermo Ruiz
Evitar los movimientos de pantalla mientras se ejecuta una macro
• Al principio de la macro escribe despues del sub.
Application.ScreenUpdating = False
y al final antes del end sub
Application.ScreenUpdating = True
Guillermo Ruiz
Abrir un libro existente:
• Sub AbrirLibro() • Workbooks.Open ("C:\Mis documentos\Ejemplo.xls")
• End Sub
Guillermo Ruiz
Codigo de caja de pregunta
• caja = MsgBox("desea realizar este ingreso", vbQuestion + vbYesNo, "R.I.B")
• If caja = vbYes Then• Codigo• Else• Codigo• End if
Guillermo Ruiz
Userform
• Herramienta que permite crear un formulario.
• Insertar/ userform
• Para previsualizar un formulario presionamos la tecla F5.
Guillermo Ruiz
Guillermo Ruiz
Código para agregar datos a un combobox
• Doble clic en un espacio en blanco del formulario.
• ComboBox1.AddItem "CANINO"
OBJETO PROCEDIMIENTOUSERFORM ACTIVATE
Guillermo Ruiz
Copiar datos de formulario a una hoja de excel
• Sheets("Hoja3").Select• Application.Goto Reference:="R1048576C3"• Selection.End(xlUp).Select• ActiveCell.Offset(1, 0).Range("A1").Value = TextBox1
Guillermo Ruiz
Código Para borrar un textbox
• Textbox1.text = “”• Combobox1.text = “”• CheckBox1.Value = False
Guillermo Ruiz
Código para mostrar un formulario
• Nombre_del_formulario.show
Guillermo Ruiz
Codigo para formulario de entrada
• Application.ScreenUpdating = False
• If (TextBox1.Text = "camaratulua") Or (TextBox1.Text = "CAMARATULUA") And (TextBox2.Value = "2244030") Then
• Sheets("inicio_web").Visible = True• Unload Me• Else• ActiveWorkbook.Close False• End If• Application.ScreenUpdating = True
Guillermo Ruiz
Ejecutar aplicaciones al abrir excel
• Private Sub Workbook_Open()• UserForm6.Show• End Sub
Guillermo Ruiz
• Sheets("DATOS").Select• Application.Goto Reference:="R1048576C3"• Selection.End(xlUp).Select• ActiveCell.Offset(1, 0).Range("A1").Value = TextBox1
Guillermo Ruiz
Deshabilitar el botón de cerrar en formulario
• If CloseMode = 0 Then• MsgBox "POR FAVOR USE EL BOTON SALIR
QUE ESTA EN EL FORMULARIO", vbInformation, "BOTON NO DISPONIBLE"
• Cancel = 1• CloseMode = 1• Else• End If
Guillermo Ruiz
Codigo para activar un buscarv• Set rango = Worksheets(“BD").Range(“B4:P65536")• answer = Application.WorksheetFunction.VLookup(Val(TextBox2), rango, 2, 0)• TextBox2.Value = answer
Guillermo Ruiz
• Set r = Worksheets("BD").Range("b4:p65536")• • Set myRange = r• answer = Application.WorksheetFunction.VLookup(Val(TextBox2), myRange, 12, 0)• If answer = "si" Then• • • CheckBox1.Value = True• • Else• • CheckBox2.Value = true• • End If
Guillermo Ruiz
Código que comprueba si un textbox esta vacio
• If (TextBox4.Value = Empty) Then• MsgBox "DEBE ESPECIFICAR UN VALOR
NUMERICO EN EL CAMPO NUMERO", vbOKOnly + vbInformation, "AUSENCIA DE VALOR"
• Else
Guillermo Ruiz
Codigo para guardar en formato fecha un textbox
• Format(TextBox27, "dd-mmm-yyyy")
Codigo para guardar en formato numero un textbox
• val(TextBox27)
Guillermo Ruiz
• ListBox1.List = Array("One", "Two", "Three", "Four") ComboBox1.List = Array("Red“, "Yellow", "Blue")
Guillermo Ruiz
Código para ocultar la ventana de Excel
• Application.Visible = False
Guillermo Ruiz
Codigo para llamar un formulario
• UserForm3.Show
Guillermo Ruiz
Código para evitar guardar en blanco
• If TextBox2.Text = "" Or TextBox1.Text = "" Then• • MsgBox "Falta digitar informacion", vbCritical +
vbOKOnly, "Incompleto"• • Else•
Guillermo Ruiz
Codigo para comprobar si una cedula existe.
• Sheets("BD").Select• • Range("b2").Value = Val(TextBox2)• • If Range("b2").Text = Range("c2").Text Then• • MsgBox "Esta cedula ya existe", vbCritical + vbOKOnly,
"System Plus"• • Else
Guillermo Ruiz
Evitar guardar celda en blanco
• If Range("e3").Value = Empty ThenMsgBox "Falta digitar cedula", vbCritical + vbOKOnly, “Incompleto"• • Else
Guillermo Ruiz
Evitar datos Principales duplicados
• If Range("e2").Text = Range("e3").Text Then• • MsgBox "Esta cedula ya existe", vbCritical +
vbOKOnly, “Información"•
Guillermo Ruiz
• If Range("e2").Text = Range("e3").Text Then• • MsgBox "Esta cedula ya existe", vbCritical + vbOKOnly,
"FELICAN"• Elsecaja = MsgBox("Desea Guardar estos datos", vbQuestion +
vbYesNo, "EXCEL")• • If caja = vbYes Then