Condición para registro en excel con Visual Basic
Tengo una hoja de calculo donde voy ingresando registros de movimientos de ciertos materiales.
Por lógica cree una hoja de calculo llamada registro donde se van almacenando los registros que voy haciendo, pero quiero una condicional que e cuanto el numero de registros llegue e + de 240 es decir 241, me envíe una caja de texto (msgbox) diciendo que:
"Es necesario depurar registros antiguos", de hecho ya la hice y si funciona el problema es que cuando la pongo dentro del código que me ayuda a almacenar los registros deja de funcionar. También la puse en un modulo nuevo y tampoco funciona, así que no tengo idea de como almacenarla para que funcione la condición, les anexo el código que me ayuda con los registros:
Codigo:
Sub Registro()
Hoja2.Unprotect ("5140")
Dim res As Integer
res = MsgBox("Desea resgistrar el reproceso????", vbOKCancel, "Información del sistema")
If res = vbOK Then
Dim n As Integer
Dim rango As Range
Dim fecha As Range
Dim hora As Range
Dim valor1 As Range
Dim cantidad1 As Range
Dim valor2 As Range
Dim cantidad2 As Range
Set rango = Sheets(2).Range("B1:B250")
n = Application.WorksheetFunction.CountA(rango)
Hoja2.Range("M1").Value = n + 1
Hoja2.Range("N1") = "B" & Hoja2.Range("m1")
Hoja2.Range("O1") = "C" & Hoja2.Range("m1")
Hoja2.Range("P1") = "D" & Hoja2.Range("m1")
Hoja2.Range("R1") = "E" & Hoja2.Range("m1")
Hoja2.Range("S1") = "G" & Hoja2.Range("m1")
Hoja2.Range("T1") = "H" & Hoja2.Range("m1")
Set fecha = Sheets(2).Range("N1")
Set hora = Sheets(2).Range("O1")
Set valor1 = Sheets(2).Range("P1")
Set cantidad1 = Sheets(2).Range("R1")
Set valor2 = Sheets(2).Range("S1")
Set cantidad2 = Sheets(2).Range("T1")
Hoja2.Range(fecha) = Date
Hoja2.Range(hora) = Time
Hoja2.Range(valor1) = Hoja1.Range("D10")
Hoja2.Range(cantidad1) = Hoja1.Range("F10")
Hoja2.Range(valor2) = Hoja1.Range("D15")
Hoja2.Range(cantidad2) = Hoja1.Range("F15")
Else
MsgBox ("No se ha registrado el reproceso"), vbOKOnly, "Información del sistema"
Hoja2.Range("B2:I249").Font.Bold = False
End If
Hoja2.Protect ("5140")
End Sub
Este código funciona perfectamente, y el siguiente código también ya que lo probé en una hoja por separado, pero no se como conjuntarlo con el código de arriba para que me condicione los números de los registros.
Anexo código de la condicion:
Sub limpiarregistros()
If Hoja2.Range("M1") > 240 Then
MsgBox ("Es necesario depurar registros antiguos, ¿Desea hacerlo ahora?"), vbYesNo
If resp = 6 Then
Hoja2.Select
If resp = 7 Then
Hoja1.Select
End If
End If
End If
End Sub
Agradezco su ayuda con este problemita, muchas gracias...