Codigo Visual Basic for Application

36
Guillermo Ruiz CODIGO VISUAL BASIC FOR APPLICATION Lenguaje de programación para aplicaciones en Excel

Transcript of Codigo Visual Basic for Application

Page 1: Codigo Visual Basic for Application

Guillermo Ruiz

CODIGO VISUAL BASIC FOR APPLICATION

Lenguaje de programación para aplicaciones en Excel

Page 2: Codigo Visual Basic for Application

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.

Page 3: Codigo Visual Basic for Application

Guillermo Ruiz

Entrar

• Alt + F11• Programador/ visual basic.

Page 4: Codigo Visual Basic for Application

Guillermo Ruiz

Barra de proyecto u objetos

Barra de Propiedades

Page 5: Codigo Visual Basic for Application

Guillermo Ruiz

Módulos

• Los módulos contienen el código visual de cada una de las macros creadas por los usuarios.

Page 6: Codigo Visual Basic for Application

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

Page 7: Codigo Visual Basic for Application

Guillermo Ruiz

• Sub borrar()• Range("E4").Select• Selection.ClearContents• Range("E6").Select• Selection.ClearContents• Range("E8").Select• Selection.ClearContents• Range("E4").Select• End Sub

Page 8: Codigo Visual Basic for Application

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

Page 9: Codigo Visual Basic for Application

Guillermo Ruiz

Código para evitar guardar en blanco

• If range(“e4”).value = "" Then• • MsgBox "Falta digitar informacion", vbCritical +

vbOKOnly, "Incompleto"• • Else•

Page 10: Codigo Visual Basic for Application

Guillermo Ruiz

Para localizar la última celda de una lista

• Sub Final() While ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select WendEnd Sub

Page 11: Codigo Visual Basic for Application

Guillermo Ruiz

Macro que cierra Excel

Sub Auto_Close()• Application.Quit

End Sub

Page 12: Codigo Visual Basic for Application

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

Page 13: Codigo Visual Basic for Application

Guillermo Ruiz

Abrir un libro existente:

• Sub AbrirLibro() • Workbooks.Open ("C:\Mis documentos\Ejemplo.xls")

• End Sub

Page 14: Codigo Visual Basic for Application

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

Page 15: Codigo Visual Basic for Application

Guillermo Ruiz

Userform

• Herramienta que permite crear un formulario.

• Insertar/ userform

• Para previsualizar un formulario presionamos la tecla F5.

Page 16: Codigo Visual Basic for Application

Guillermo Ruiz

Page 17: Codigo Visual Basic for Application

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

Page 18: Codigo Visual Basic for Application

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

Page 19: Codigo Visual Basic for Application

Guillermo Ruiz

Código Para borrar un textbox

• Textbox1.text = “”• Combobox1.text = “”• CheckBox1.Value = False

Page 20: Codigo Visual Basic for Application

Guillermo Ruiz

Código para mostrar un formulario

• Nombre_del_formulario.show

Page 21: Codigo Visual Basic for Application

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

Page 22: Codigo Visual Basic for Application

Guillermo Ruiz

Ejecutar aplicaciones al abrir excel

• Private Sub Workbook_Open()• UserForm6.Show• End Sub

Page 23: Codigo Visual Basic for Application

Guillermo Ruiz

• Sheets("DATOS").Select• Application.Goto Reference:="R1048576C3"• Selection.End(xlUp).Select• ActiveCell.Offset(1, 0).Range("A1").Value = TextBox1

Page 24: Codigo Visual Basic for Application

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

Page 25: Codigo Visual Basic for Application

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

Page 26: Codigo Visual Basic for Application

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

Page 27: Codigo Visual Basic for Application

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

Page 28: Codigo Visual Basic for Application

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)

Page 29: Codigo Visual Basic for Application

Guillermo Ruiz

• ListBox1.List = Array("One", "Two", "Three", "Four") ComboBox1.List = Array("Red“, "Yellow", "Blue")

Page 30: Codigo Visual Basic for Application

Guillermo Ruiz

Código para ocultar la ventana de Excel

• Application.Visible = False

Page 31: Codigo Visual Basic for Application

Guillermo Ruiz

Codigo para llamar un formulario

• UserForm3.Show

Page 32: Codigo Visual Basic for Application

Guillermo Ruiz

Código para evitar guardar en blanco

• If TextBox2.Text = "" Or TextBox1.Text = "" Then• • MsgBox "Falta digitar informacion", vbCritical +

vbOKOnly, "Incompleto"• • Else•

Page 33: Codigo Visual Basic for Application

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

Page 34: Codigo Visual Basic for Application

Guillermo Ruiz

Evitar guardar celda en blanco

• If Range("e3").Value = Empty ThenMsgBox "Falta digitar cedula", vbCritical + vbOKOnly, “Incompleto"• • Else

Page 35: Codigo Visual Basic for Application

Guillermo Ruiz

Evitar datos Principales duplicados

• If Range("e2").Text = Range("e3").Text Then• • MsgBox "Esta cedula ya existe", vbCritical +

vbOKOnly, “Información"•

Page 36: Codigo Visual Basic for Application

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