Plantillas Excel - Pasos para crear un Sistema Contable - Tema 16
Antes de comenzar con el articulo Plantillas Excel - Pasos para crear un Sistema Contable - Tema 16, debes de cumplir los siguientes requisitos:
- 1Haber aplicado todos los temas del 1-15.
- 2Tener la Plantilla bien diseñada y con Formulas.
- 3Haber visto el tema 15. Y si no lo has visto tan solo pulsa clic aquí.
Comenzamos con el tema mas importante y es la Programación, voy a compartir contigo los códigos básicos para tu sistema contable. Y cuando me refiero a lo básico, te estoy hablando de los códigos del botón Guardar, Presentar MAYOR y Nuevo Diario.
Por lo tanto, a continuación te dejo los primeros códigos y se trata de los códigos del modulo 1:
Copiando Códigos en los módulos de VBA de Tu Sistema Contable
Entramos a VBA con la combinación de tecla Alt + F11 e insertamos dos Módulos más y copiamos los siguientes códigos:
Código para el Modulo 1:
Sub DIARIO()
‘
‘ ESTA MACRO LIMPIA EL CONTENIDO DEL DIARIO
ActiveSheet.Unprotect “123”
Range(“A2:L2000”).Select
Selection.ClearContents
Range(“A2”).Select
Sheets(“DIARIO”).Protect
End Sub
Sub BusquedaContinuaM()
Dim busca As Object
Dim Primero
Dim hojaBusc As String, quebusco As String, mihoja As String
Dim filalibre As Integer
‘en la siguiente variable se indica la hoja dónde buscar
hojaBusc = “DIARIO”
‘el dato a buscar se encuentra en E3 de la hoja activa
‘la variable “mihoja” será donde se volcarán los datos
mihoja = “MAYOR”
filalibre = 10
quebusco = Sheets(mihoja).Range(“H7”)
‘la búsqueda se realiza sobre la columna D de la Hoja3
Set busca = Sheets(hojaBusc).Range(“G2:G2000”).Find(quebusco, LookIn:=xlValues, Lookat:=xlWhole)
‘si busca No es Vacío… es decir si la búsqueda es exitosa y encuentra el dato, guarda ladirección en la variable Primero
If Not busca Is Nothing Then
Primero = busca.Address
‘comienza el bucle
Do
‘completa la fila de la hoja activa (Hoja2) con datos del registro encontrado
Sheets(mihoja).Cells(filalibre, 1) = busca.Offset(0, -6) ‘dato de col A FECHA
Sheets(mihoja).Cells(filalibre, 2) = busca.Offset(0, -5) ‘dato de col B Nº ASI
Sheets(mihoja).Cells(filalibre, 3) = busca.Offset(0, -4) ‘dato de col c Nº ING
Sheets(mihoja).Cells(filalibre, 4) = busca.Offset(0, -3) ‘dato de col c Nº EGR
Sheets(mihoja).Cells(filalibre, 5) = busca.Offset(0, -2) ‘dato de col c Nº ND
Sheets(mihoja).Cells(filalibre, 6) = busca.Offset(0, -1) ‘dato de col c Nº ND
Sheets(mihoja).Cells(filalibre, 7) = busca ‘dato de col D CODIGO
Sheets(mihoja).Cells(filalibre, 8) = busca.Offset(0, 2) ‘dato de col J DESCRIPCION
Sheets(mihoja).Cells(filalibre, 9) = busca.Offset(0, 3) ‘dato de col P DEBE
Sheets(mihoja).Cells(filalibre, 10) = busca.Offset(0, 4) ‘dato de col R HABER
filalibre = filalibre + 1
‘continúa la búsqueda
Set busca = Sheets(hojaBusc).Range(“G2:G2000”).FindNext(busca)
‘se repite la rutina hasta volver a la primer dirección guardada.
Loop While Not busca Is Nothing And busca.Address <> Primero
End If
‘se libera la variable
Set busca = Nothing
Call Imprimirmayor
Call LimpiaMayor
End Sub
Sub LimpiaMayor()
Range(“A10:J2000”).ClearContents
End Sub
Sub Imprimirmayor()
Call IRAMAYOR
On Error Resume Next
Sheets(“MAYOR”).Activate
ActiveSheet.PrintPreview
End Sub
Ya copiaste el código en el modulo 1? Todavía no? Que tal si tomas acción ahora mismo y copias los códigos. No dejes para mañana lo que puedes hacer hoy.
Si tienes dudas o preguntas no dudes en contactarnos. La sala de chat esta disponible las 24 horas.. puedes escribirnos en cualquier hora no importa si estamos online o ofline.
Te saluda,
Roger Perez – Aplica Excel Contable