SPINBUTTOM no pierde el control ??

24/11/2009 - 02:02 por ORFAO | Informe spam
Hola Grupo !

Tengo "para variar" otro problemita.

Se trata de un spinnbuttom que aunque en parte del codigo tengo una
instruccion activecel.activate el control sigue teniendo el foco.

Esto me genera en otra parte del codigo en el libro en que trabajo,
errores al modificar/introducir valores en algunas celdas, y aunque si
lo acepta, tengo que clickar varias veces sobre un mensaje que aparece
diciendo que las celdas que intento modificar estan bloqueadas.

al abrir el libro (proyecto) instruyo para que se protejan todas las
hojas con la opcion userinterfaceonly: =true , protejo el libro
y solo permito la antrada en algunos controles y/o celdas
desprotegidas.

Este es el codigo que uso para el control "problema"


Private Sub SpinButton1_Change()
alarma
If [CJ41] Or [Q8] = 0 Or Not IsNumeric([Q8]) Or [CN77] Or [Cn59] Then
[BG1] = 1: VBAProject.error.Show: Exit Sub
Dim X As Integer, F As Integer
[BG1] = 0
ActiveCell.Activate
Application.ScreenUpdating = False
Me.SpinButton1.Max = [B8]
VBAProject.Hoja1.[AU1] = 1
Application.EnableEvents = False
convierte
If [bj23] Then
Xx = [b7].Value
VBAProject.Hoja13.Range(Range(Cells(27 + Xx, 7), Cells(27 + Xx,
17)).Address) = Range("BG19:BQ19").Value
End If
If [bj25] Then
VBAProject.Hoja1.Range("F" & Xx + 1) = VBAProject.Hoja6.Range("Q8")
VBAProject.Hoja1.Range(Range(Cells(Range("BI1"), 7), Cells(Range
("BI1") + 14, 18)).Address) = Range("BI26:BT40").Value
End If
Me.[b7] = Me.[b6]
copia_db_a_apu
If [a25] Then [Q8].Locked = True Else [Q8].Locked = False
VBAProject.Hoja1.[AU1] = 0
Application.EnableEvents = True
End Sub



Private Sub SpinButton1_LostFocus()
ActiveCell.Activate
End Sub

Private Sub SpinButton1_SpinDown()
ActiveCell.Activate
End Sub

Private Sub SpinButton1_SpinUp()
ActiveCell.Activate
End Sub
 

Leer las respuestas

#1 Héctor Miguel
24/11/2009 - 08:41 | Informe spam
hola, moises !

... un spinnbuttom que aunque en parte del codigo tengo una instruccion activecel.activate el control sigue teniendo el foco.
Esto me genera en otra parte del codigo en el libro en que trabajo, errores al modificar/introducir valores en algunas celdas
y aunque si lo acepta, tengo que clickar varias veces sobre un mensaje... diciendo que las celdas que intento modificar estan bloqueadas.
al abrir el libro (proyecto) instruyo para que se protejan todas las hojas con la opcion userinterfaceonly: =true
protejo el libro y solo permito la antrada en algunos controles y/o celdas desprotegidas...



1) los controles incrustados en hojas, NO estan cubiertos por la instruccion "userinterfaceonly:=true"
2) si esos controles depositan sus cambios en celdas, son acciones del usuario que requieren de celdas DESbloqueadas
3) en el codigo manejas algunas instrucciones para (des)bloquear celdas segun condiciones
4) averigua si no causan "contra-indicaciones" los procedimientos "llamados" (alarma, convierte y copia_db_a_apu) -???-

saludos,
hector.

__ el codigo expuesto __
Este es el codigo que uso para el control "problema"
Private Sub SpinButton1_Change()
alarma
If [CJ41] Or [Q8] = 0 Or Not IsNumeric([Q8]) Or [CN77] Or [Cn59] Then [BG1] = 1: VBAProject.error.Show: Exit Sub
Dim X As Integer, F As Integer
[BG1] = 0
ActiveCell.Activate
Application.ScreenUpdating = False
Me.SpinButton1.Max = [B8]
VBAProject.Hoja1.[AU1] = 1
Application.EnableEvents = False
convierte
If [bj23] Then
Xx = [b7].Value
VBAProject.Hoja13.Range(Range(Cells(27 + Xx, 7), Cells(27 + Xx, 17)).Address) = Range("BG19:BQ19").Value
End If
If [bj25] Then
VBAProject.Hoja1.Range("F" & Xx + 1) = VBAProject.Hoja6.Range("Q8")
VBAProject.Hoja1.Range(Range(Cells(Range("BI1"), 7), Cells(Range("BI1") + 14, 18)).Address) = Range("BI26:BT40").Value
End If
Me.[b7] = Me.[b6]
copia_db_a_apu
If [a25] Then [Q8].Locked = True Else [Q8].Locked = False
VBAProject.Hoja1.[AU1] = 0
Application.EnableEvents = True
End Sub

Private Sub SpinButton1_LostFocus()
ActiveCell.Activate
End Sub

Private Sub SpinButton1_SpinDown()
ActiveCell.Activate
End Sub

Private Sub SpinButton1_SpinUp()
ActiveCell.Activate
End Sub

Preguntas similares