Excel - Abrir Formulario con una tecla Función (F1 o F2)

 
Vista:
sin imagen de perfil

Abrir Formulario con una tecla Función (F1 o F2)

Publicado por rafael (6 intervenciones) el 13/12/2014 00:13:12
Hola, tengo un código que abre un formulario con un evento Worksheet_BeforeDoubleClick en las columnas indicadas en mi código. Cómo puedo hacer para abrir el mismo evento también con una tecla Función como F1 o F2 ?

El código es el siguiente (adjunto archivo):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
Dim Source              As String
Dim Cel                 As Range
 
    If Target.Row > 9 Then
        Select Case Target.Column
            Case Is = 12
                Cancel = True
                Load FrmSelection
                With FrmSelection
                    Set .Target = Target
                    For Each Cel In WSCountryCodes.Range("COUNTRY_NAME1")
                        .ListBoxSelection.AddItem Cel.Text
                        .ListBoxSelection.List(.ListBoxSelection.ListCount - 1, 1) = Cel.Offset(0, -2).Text
                        If Cel.Text = Target.Text Then
                            .ListBoxSelection.Selected(.ListBoxSelection.ListCount - 1) = True
                        End If
                    Next
                    .Show
                End With
            Case Is = 13, 15, 25 To 28
                Cancel = True
                If Target.Column = 13 Then
                    Source = "COMPANYTYPE2"
                ElseIf Target.Column = 15 Then
                    Source = "PROJECTPHASE2"
                ElseIf Target.Column = 25 Then
                    Source = "FUNCTIONALROLE2"
                ElseIf Target.Column = 26 Then
                    Source = "MANAGEMENTLEVEL2"
                ElseIf Target.Column = 27 Then
                    Source = "VERTICALMARKET2"
                ElseIf Target.Column = 28 Then
                    Source = "CAMPAIGNTYPE2"
                End If
 
                Load FrmSelection
                With FrmSelection
                    Set .Target = Target
                    For Each Cel In Intersect(Sheet1.Range(Source), Sheet1.Range(Source)(1, 1).EntireColumn)
                        .ListBoxSelection.AddItem Cel.Offset(0, 1).Text
                        .ListBoxSelection.List(.ListBoxSelection.ListCount - 1, 1) = Cel.Offset(0, 2).Text
                        If Cel.Offset(0, 2).Text = Target.Text Then
                            .ListBoxSelection.Selected(.ListBoxSelection.ListCount - 1) = True
                        End If
                    Next
                    .Show
                End With
        End Select
    End If
 
ExitSub:
 
    Set Cel = Nothing
 
End Sub


El código abre un formulario cada vez que se hace doble click sobre las columnas L, M,O, Y, Z, AA, AB desde la fila 10 en adelante. Me gustaría poder abrir el mismo formulario con una sola tecla como F1 o F2 si es que se puede.

Gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de LaO

Abrir Formulario con una tecla Función (F1 o F2)

Publicado por LaO (67 intervenciones) el 13/12/2014 16:52:02
Hola Rafael,

Para lograr lo que deseas se hace necesario aplicar algunos pequeños cambios en el enfoque general. El script te lo he traslado a un módulo para llamarlo tanto en el evento de la hoja "Import" como desde la apertura del libro para activar de manera automática un shortcut (F12 en el ejemplo) que llame la rutina.

Pulsando F12 se logra el mismo efecto que el doble click en la hoja. Así las cosas, bien se puede obviar la acción de este evento en la hoja y trabajarla solo con F12 ó trabajar ambas. Es decisión tuya, aunque en particular lo dejaría solo con F12.

Adjunto el archivo con las modificaciones.

Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Formulario con una tecla Función (F1 o F2)

Publicado por rafael (6 intervenciones) el 13/12/2014 22:55:39
Muchas gracias es justo lo que quería.

Una pregunta más, al abrir el archivo en excel 2007 me desactiva los combobox (activex ) de la celda L3 Y AD3 , así como los botones (activex) de las celdas W5, AD5, AE7 . Por más de que busqué no encuentro porque pasa esto, crees poder saber que pasa?
no se si sea algo de la configuración de mi software o algo más.

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Formulario con una tecla Función (F1 o F2)

Publicado por rafael (6 intervenciones) el 14/12/2014 00:13:21
Hola LaO, ya encontre la solución, de hecho es una respuesta tuya en el mismo foro en este link:
http://www.lawebdelprogramador.com/foros/Excel/1474333-Botones_ActiveX_en_Office_no_funcionan.html

el cual te redirige al siguiente link en donde viene desglosado a detalle la pregunta:

http://excelmatters.com/2014/12/10/office-update-breaks-activex-controls/


Muchas gracias, quedo excelente el código.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar