Vous êtes sur la page 1sur 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 COD
IGO
Sheets(mihoja).Cells(filalibre, 8) = busca.Offset(0, 2) 'dato de col J DESCRIP
CION
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 = True
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,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
'otros datos del encabezado

1)
9)
3)
4)
5)
6)

=
=
=
=
=
=

ActiveSheet.Range("F3")
ActiveSheet.Range("C6")
ActiveSheet.Range("H1")
ActiveSheet.Range("H1")
ActiveSheet.Range("H1")
ActiveSheet.Range("H1")

'copiamos lista de items


Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,
Sheets("DIARIO").Cells(filalibre,

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

'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
============== Adicionales ===========================
Para el Modulo 1
Sub limpiaf()
Range("C10:C18,D3,C6,C21,E10:G18").Select
Selection.ClearContents
End Sub
Para el Boton Nuevo en la Hoja D
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Call limpiaf
Application.Calculation = xlCalculationAutomatic
Para el Boton Guardar
Agregar esta linea de codigo al final
Sheets("D").Activate

'FECHA
'CONCEPTO
'N ING.
'N EGRESO
'N ND
'N NC

Vous aimerez peut-être aussi