Sie sind auf Seite 1von 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 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

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 pasar�n 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, 7) = ActiveCell.Offset(0, 0) 'CODIGO
Sheets("DIARIO").Cells(filalibre, 8) = ActiveCell.Offset(0, 1) 'DESCRIPCION
Sheets("DIARIO").Cells(filalibre, 10) = ActiveCell.Offset(0, 2) 'DESCRIPC
Sheets("DIARIO").Cells(filalibre, 11) = ActiveCell.Offset(0, 3) 'PRECIO
Sheets("DIARIO").Cells(filalibre, 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 conclu�da 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

Das könnte Ihnen auch gefallen