Jump to content
  • Debido a la crisis sanitaria, hasta el día 31 de marzo, el registro al foro de Ayuda Excel será totalmente gratuito para facilitar el teletrabajo. Todos los registros que se produzcan entre estas fechas tendrán acceso gratuito ilimitado a la comunidad hasta el 30 de abril.

    Regístrate

    Si te surge alguna duda mientras estás trabajando en casa con Excel, ya tienes a quien preguntar.

    Espero que esta medida te sirva de ayuda. Frenar la expansión del coronavirus depende de todos. Sé responsable.

Sign in to follow this  
Milton Cordova

Ingreso de variables

Recommended Posts

Saludos deseo ayuda en una macro que debe hacer lo siguiente

en D14 D8O al hacer doble clic ingresar la B

en E14:E8O al hacer doble clic ingresar la M

en F14:F8O al hacer doble clic ingresar la A

en G14:I8O al darle doble clic debe ingresar una "X", la condicion es que en este rango en la fila correspondiente al darle clik se borre cualquier X ingresada y se registre en la celda activa

esta es la macro

'Doble click para ingresar y para borrar.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'If Intersect(Target, Range("A1:A10", "B1:B10")) Is Nothing Then Exit Sub

If Not Intersect(Target, Range("D14:D80")) Is Nothing Then
Target = IIf(Target = "B", "", "B")
Target.Offset(, 1).Select
End If

If Not Intersect(Target, Range("E14:E80")) Is Nothing Then
Target = IIf(Target = "M", "", "M")
Target.Offset(, -1).Select
End If

If Not Intersect(Target, Range("F14:F80")) Is Nothing Then
Target = IIf(Target = "A", "", "A")
Target.Offset(, -1).Select
End If

If Not Intersect(Target, Range("G14:I80")) Is Nothing Then Exit Sub Else Cancel = True
Cells(Target.Row, 1).Resize(, 3).ClearContents: Target = "X"

End Sub[/CODE]

Gracias por la atención

Share this post


Link to post
Share on other sites

Hola Milton

Prueba asi

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("D14:I80")) Is Nothing Then
If Not Intersect(Target, Range("D14:D80")) Is Nothing Then Target = VBA.IIf(Target = "B", "", "B")
If Not Intersect(Target, Range("E14:E80")) Is Nothing Then Target = VBA.IIf(Target = "M", "", "M")
If Not Intersect(Target, Range("F14:F80")) Is Nothing Then Target = VBA.IIf(Target = "A", "", "A")
If Not Intersect(Target, Range("G14:I80")) Is Nothing Then Range(Cells(Target.Row, "G"), _
Cells(Target.Row, "I")).ClearContents: Target = "X"
Target.Offset(, 1).Select
End If

End Sub[/PHP]

Siempre debes adjuntar archivo, porque de lo contrario "obligas" al colaborador a recrear tu archivo/problema

Saludos

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png