Mensage MsgBox
Veremos si es aquí el lugar indicado
Tengo este código con un mensaje. Si le digo SI, se procesa bien por que llega a activar la linea donde está cmdLimpiarTodo pero, si le digo No, no limpia nada, no pasa del mensaje y quiero que me limpie todo
Private Sub cmdEditar_Click()
Application.ScreenUpdating = False ' Desde aqui el procedimiento Editar
ActiveSheet.Unprotect "By Jot@" 'Desprotege la hoja para ingresar datos
'Declara variables
Dim x, y
If ComboDoble.ListIndex < 0 Then
Exit Sub
Else
y = ComboDoble.ListIndex + 2
TextNombre.SetFocus
'Mensage de advertencia
If MsgBox(" CUIDADO, va a EDITAR el contacto?" & vbCrLf & vbCrLf & ComboDoble.List(ComboDoble.ListIndex) _
& vbCrLf & vbCrLf & "No tiene vuelta atrás, Responda, EDITAR ¿SI o NO?", vbInformation + vbYesNo + vbDefaultButton2, "EDITAR CONTACTO") _
= vbNo Then Exit Sub 'Si presionas NO, hasta aqui llega la macro
'O como tiene el cmdEliminar pero tienes que declarar la variable Dim mensage As String
'Responde Si, reemplasa los valores en la fila correspondiente en la hoja
Range("a" & y) = TextNombre 'sirviria tambien 'Range("a" + celda) = TextNombre
Range("b" & y) = TextUbicacion
Range("c" & y) = TextID
Range("d" & y) = TextTelefono 'Esta 'Range("d" & y) = Val(Round(TextTelefono, 0)) evita los decimales
Range("e" & y) = TextIDDos ' pero no admite ceros a la izquierda
Range("f" & y) = TextTelfDos
Range("g" & y) = TextIDTres
Range("h" & y) = TextTelfTres
Range("i" & y) = TextObservacion
'Ordena la columna NOMBRE (A) alfabeticamente
x = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row '#1
Set myrange = ActiveSheet.Range("A2:I" & x) '#2
myrange.Sort Key1:=ActiveSheet.Range("A1") '#3
ComboDoble.clear 'Limpia el ComboBox para actualisarlo
'Actualisa la lista en el ComboBox al editar contactos
For x = 2 To ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row '#4
ComboDoble.AddItem ActiveSheet.Range("A" & x) '#5
Next x
cmdLimpiarTodo_Click 'Limpia todos los TextBox y Combobox
End If
ActiveSheet.Protect "By Jot@" 'Protege nuevamente la hoja para no ingresar datos
Application.ScreenUpdating = True
End Sub
Cuando digo cmdLimpiaTodo es un botón cmdLimpiaTodo donde tengo para limpiar todos los textBox, ListBox y ComboBox, todo queda sin texto alguno.
¿Qué puedo hacer para que este código al decirle No me limpie todo? Tal como lo hace diciéndole SI
Tengo este código con un mensaje. Si le digo SI, se procesa bien por que llega a activar la linea donde está cmdLimpiarTodo pero, si le digo No, no limpia nada, no pasa del mensaje y quiero que me limpie todo
Private Sub cmdEditar_Click()
Application.ScreenUpdating = False ' Desde aqui el procedimiento Editar
ActiveSheet.Unprotect "By Jot@" 'Desprotege la hoja para ingresar datos
'Declara variables
Dim x, y
If ComboDoble.ListIndex < 0 Then
Exit Sub
Else
y = ComboDoble.ListIndex + 2
TextNombre.SetFocus
'Mensage de advertencia
If MsgBox(" CUIDADO, va a EDITAR el contacto?" & vbCrLf & vbCrLf & ComboDoble.List(ComboDoble.ListIndex) _
& vbCrLf & vbCrLf & "No tiene vuelta atrás, Responda, EDITAR ¿SI o NO?", vbInformation + vbYesNo + vbDefaultButton2, "EDITAR CONTACTO") _
= vbNo Then Exit Sub 'Si presionas NO, hasta aqui llega la macro
'O como tiene el cmdEliminar pero tienes que declarar la variable Dim mensage As String
'Responde Si, reemplasa los valores en la fila correspondiente en la hoja
Range("a" & y) = TextNombre 'sirviria tambien 'Range("a" + celda) = TextNombre
Range("b" & y) = TextUbicacion
Range("c" & y) = TextID
Range("d" & y) = TextTelefono 'Esta 'Range("d" & y) = Val(Round(TextTelefono, 0)) evita los decimales
Range("e" & y) = TextIDDos ' pero no admite ceros a la izquierda
Range("f" & y) = TextTelfDos
Range("g" & y) = TextIDTres
Range("h" & y) = TextTelfTres
Range("i" & y) = TextObservacion
'Ordena la columna NOMBRE (A) alfabeticamente
x = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row '#1
Set myrange = ActiveSheet.Range("A2:I" & x) '#2
myrange.Sort Key1:=ActiveSheet.Range("A1") '#3
ComboDoble.clear 'Limpia el ComboBox para actualisarlo
'Actualisa la lista en el ComboBox al editar contactos
For x = 2 To ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row '#4
ComboDoble.AddItem ActiveSheet.Range("A" & x) '#5
Next x
cmdLimpiarTodo_Click 'Limpia todos los TextBox y Combobox
End If
ActiveSheet.Protect "By Jot@" 'Protege nuevamente la hoja para no ingresar datos
Application.ScreenUpdating = True
End Sub
Cuando digo cmdLimpiaTodo es un botón cmdLimpiaTodo donde tengo para limpiar todos los textBox, ListBox y ComboBox, todo queda sin texto alguno.
¿Qué puedo hacer para que este código al decirle No me limpie todo? Tal como lo hace diciéndole SI
{"Lat":10.2686197205666,"Lng":-67.5780844688416}
1 Respuesta
Respuesta de neicos
1