Como evitar que que después de una linea de código se salte a el evento Change repentinamente.
Hola experto soy un
principiante de VBA para Excel.
Tengo
un libro con macro la cual he creado para gestionar básicamente cobranzas.
Aunque
es muy precario el sistema que he realizado. Me dan fallas como por ejemplo
cuando intento cambia un cambo box en el formulario llamado gestión. Me arroja
un mensaje diciendo "Recursos insuficientes para realizar esta
operación."
En la
celda a4 de la hoja "datos" se ejecuta un procedimiento que llama a
los datos de la hoja "2" según el grado el llamado a los rangos lo
coge de la celda a1 que genera el nombre de los rangos.
Por
ejemplo para el:
Nivel
inicial
3 Años
es Grado1
4 años
es Grado2....
Se lanza
un formulario Llamado Reporte seleccionando las celdas desde la A7 hasta la A46
de la hoja datos
Hasta
allí todo normal, pero cuando se inicial el evento change del combobox grado
automáticamente arroja el valor de verdadero al combox alumnos y hace que
genere un error, y no tengo idea por que cambia el valor de combo box alumnos
Tengo
una porción de código que genera el error
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Application.ScreenUpdating = False
'On Error GoTo Salir
If Not Application.Intersect(Target, Range("A7:A46")) Is Nothing Then
Sheets("Datos").Unprotect "kodygo007"
If ActiveCell.Offset(0, 1) = "" Then
MsgBox "No hay Registros", , "Sin alumnos": GoTo es
End If
Sheets("Datos").Unprotect "kodygo007"
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
Reporte.Show
Sheets("Datos").Protect "kodygo007"
End If
If Not Application.Intersect(Target, Range("B2:B4")) Is Nothing Then
Sheets("Datos").Unprotect "kodygo007"
ActiveWindow.ScrollColumn = 3
Sheets("Datos").Protect "kodygo007"
End If
GoTo es
Salir:
MsgBox "Error Inesperado en Datos"
es:
'aqui pasa
automaticamnete al evento change del combobox Llamado CmBAlumno y le cambia el
texto a verdadero
'(que es lo que no quiero que pase pero no se por que pasa
End Sub
'y se pasa al
módulo de codigo del formulario Reportes
Private Sub CmBAlumno_Change()
Sheets("Datos").Unprotect "kodygo007"
Hoja4.Range("a1").Value = CmBAlumno.Text
Call FOTO
Call Boxmes
Cells.Find(What:=CmBAlumno,After:=Range("b7"), SearchOrder:=xlByColumns).Activate
Sheets("Datos").Protect "kodygo007"
End Sub Se genera un error
porque el combobox de alumnos se cambia a l texto "verdadero"
y la función
find no encuentra ese nombre.
Necesito
su ayuda porque aun soy principiante en esto y no sé qué hago mal.
Les
adjunto un link del archivo.
https://onedrive.live.com/?cid=2480CFDE955612B7&id=2480CFDE955612B7%21203
Espero me puedan ayudar, Muchas Gracias