Casilla de verificación
Hola Tavo.
Tengo un código VBA adaptado a una planilla y la función del código es marcar una celda cuando el cursor se para en la misma, si volvés a pararte en la casilla se desmarca, este código lo tome de una página que no recuerdo donde esta.
Funciona todo bien hasta que me di cuenta que si marcas toda la fila te borra todos los datos que contienen cada celda y no podes recuperarlos, ¿podrías ayudarme con esto? Te paso el código
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim aOffset As Integer
On Error GoTo err_handler
Application.EnableEvents = False
If Not Application.Intersect _
(Target, Columns("A")) Is Nothing Then
If Target.Column = 4 Then
aOffset = 3
Else
aOffset = 2
End If
If IsEmpty(Target.Value) Then
With Target
.Font.Name = "Wingdings"
.Value = Chr(252)
End With
Target.Offset(0, iOffset).Select
Else
Target.Value = ""
Target.Offset(0, iOffset).Select
End If
End If
err_handler:
Application.EnableEvents = True
End Sub
Básicamente hay una columna (A) titulo "marca", columna (B) meses, y columna (B) Gastos, como ejemplos.
En la columna A es donde actúa el código con el tilde.
Espero haberme explicado, cualquier cosa te mando el archivo..
Y desde ya a la espera tu comentario y agradeciendo desde ya tu atención, un abrazo.
Tengo un código VBA adaptado a una planilla y la función del código es marcar una celda cuando el cursor se para en la misma, si volvés a pararte en la casilla se desmarca, este código lo tome de una página que no recuerdo donde esta.
Funciona todo bien hasta que me di cuenta que si marcas toda la fila te borra todos los datos que contienen cada celda y no podes recuperarlos, ¿podrías ayudarme con esto? Te paso el código
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim aOffset As Integer
On Error GoTo err_handler
Application.EnableEvents = False
If Not Application.Intersect _
(Target, Columns("A")) Is Nothing Then
If Target.Column = 4 Then
aOffset = 3
Else
aOffset = 2
End If
If IsEmpty(Target.Value) Then
With Target
.Font.Name = "Wingdings"
.Value = Chr(252)
End With
Target.Offset(0, iOffset).Select
Else
Target.Value = ""
Target.Offset(0, iOffset).Select
End If
End If
err_handler:
Application.EnableEvents = True
End Sub
Básicamente hay una columna (A) titulo "marca", columna (B) meses, y columna (B) Gastos, como ejemplos.
En la columna A es donde actúa el código con el tilde.
Espero haberme explicado, cualquier cosa te mando el archivo..
Y desde ya a la espera tu comentario y agradeciendo desde ya tu atención, un abrazo.
1 Respuesta
Respuesta de tavopz
1