Está en la página 1de 3

Codigo 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 dnde buscar
hojaBusc = "DIARIO"
'el dato a buscar se encuentra en E3 de la hoja activa
'la variable "mihoja" ser donde se volcarn los datos
mihoja = "MAYOR"
filalibre = 10
quebusco = Sheets(mihoja).Range("H7")
'la bsqueda 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 Vaco es decir si la bsqueda es exitosa y
encuentra el dato, guarda ladireccin 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
'contina la bsqueda

Set busca = Sheets(hojaBusc).Range("G2:G2000").FindNext(busca)


'se repite la rutina hasta volver a la primer direccin 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
Modulo 2
Sub REGRESARMENU()
Sheets("MENU").Visible = True
Sheets("MENU").Select
Sheets("D").Visible = True
Sheets("I").Visible = True
Sheets("E").Visible = True
Sheets("ND").Visible = True
Sheets("NC").Visible = True
Sheets("DIARIO").Visible = True
Sheets("MAYOR").Visible = False
Sheets("BALANCE").Visible = True
Sheets("GENERAL").Visible = True
Sheets("RESULTADO").Visible = True
End Sub
Sub IRAMAYOR()
' IRA A LA HOJA MAYOR Macro
Sheets("MAYOR").Visible = True
Sheets("MENU").Visible = False
Sheets("MAYOR").Select
End Sub
Codigo para la Hoja MENU
Private Sub CommandButton1_Click()
Sheets("DIARIO").Unprotect "123"
Call BusquedaContinuaM
Sheets("DIARIO").Protect "123"
Call REGRESARMENU
End Sub
Codigo para la Hoja D
Private Sub CommandButton3_Click()
ActiveSheet.Unprotect Password:="124"
Sheets("DIARIO").Activate
Sheets("DIARIO").Unprotect "123"
Sheets("D").Select
'rutina que graba la factura venta en hoja base

'se busca la primer fila libre en hoja Fact


filalibre = Sheets("DIARIO").Range("A1048576").End(xlUp).Row + 1
'se pasarn los datos desde la 1er fila de items
ActiveSheet.Range("C10").Select
fila = 10
While ActiveCell.Value <> ""
'copiamos datos fijos ajustando nro col
Sheets("DIARIO").Cells(filalibre, 2) = ActiveSheet.Range("D3") 'NRO
ASI
Sheets("DIARIO").Cells(filalibre, 1) = ActiveSheet.Range("F3") 'FECHA
Sheets("DIARIO").Cells(filalibre, 9) = ActiveSheet.Range("C6")
'CONCEPTO
Sheets("DIARIO").Cells(filalibre, 3) = ActiveSheet.Range("H1") 'N
ING.
Sheets("DIARIO").Cells(filalibre, 4) = ActiveSheet.Range("H1") 'N
EGRESO
Sheets("DIARIO").Cells(filalibre, 5) = ActiveSheet.Range("H1") 'N ND
Sheets("DIARIO").Cells(filalibre, 6) = ActiveSheet.Range("H1") 'N NC
'otros datos del encabezado
'copiamos lista de items
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
'DESCRIPCION
Sheets("DIARIO").Cells(filalibre,
'DESCRIPC
Sheets("DIARIO").Cells(filalibre,
'PRECIO
Sheets("DIARIO").Cells(filalibre,
'PRECIO

7) = ActiveCell.Offset(0, 0) 'CODIGO
8) = ActiveCell.Offset(0, 1)
10) = ActiveCell.Offset(0, 2)
11) = ActiveCell.Offset(0, 3)
12) = ActiveCell.Offset(0, 4)

'incremento la variable fila para repetir el bucle


filalibre = filalibre + 1
'repito el bucle para los items siguientes
ActiveCell.Offset(1, 0).Select
Wend
'una vez concluda la copia debiera limpiarse el form de datos
'para el ingreso de nueva factura
MsgBox "Tus Datos se Guardaron Corectamente"
ActiveSheet.Protect Password:="124"
Sheets("DIARIO").Activate
Sheets("DIARIO").Protect "123"
ActiveWorkbook.Save
End Sub

También podría gustarte