Por favor me ayudan con el siguiente caso:
Tengo una hoja de Calculo, en ella un campo de control texto, deseo que Al presionar Enter o Tab, Se Ejecute una macro y
El cursor caiga en una Celda deseada de la hoja de calculo, que no se quede el puntero en el cuadro de Texto o Salte a
otro campo de control, para ello uso el evento.KeyCode.
La Macro:
Código: Seleccionar todo
Sub txtClave_TeclaPulsada( Evento )
Dim txtClave, oActualiza As Object
Dim lClave As String
oFormulario = Evento.Source.getModel.getParent()
txtClave = oFormulario.getByName("txtClave")
'Si la tecla presiona es la tecla ENTER buscamos al cliente por clave
If Evento.KeyCode = 1280 or Evento.KeyCode = 1282 Then ' 1280 = Enter, 1282 = TAB
oHojaActiva = ThisComponent.getCurrentController.getActiveSheet() 'Referencia a la hoja activa
oHojaActiva.getCellRangeByName( "B9" ).SetFormula( txtClave.Text ) 'Referencia a la celda B9
' ------------ ' Y SELECIONAMOS lacelda y acTuAlizamos el dato de ese registro ---------------------------
'MsgBox "Seleccionaré, la Celda a Actualizar "
oActualiza = oHojaActiva.getCellRangeByName( "B12" )
MsgBox " Mueve el cursor a la xcelda seleccionada"
ThisComponent.getCurrentController.Select( oActualiza )
MsgBox " Luego escribo un dato cualquiera "
oActualiza.setString( "x Dato: " & txtClave.Text ) ' aki actualiza el dato de la celda '
'----------------------------------------------------------------------------------------------------------
Exit Sub
End If
End Sub