*** 11/06/2009 as suggested by Cetin on UT Message 1404932 IF tnColIndex = 1 AND THIS.ROWCOLCHANGE = 2 *** Tab 9, Enter 13 IF INLIST(LASTKEY(), 9, 13) *** if facility enabled and last row has been reached IF .lLastRowColExit AND .LastRow() KEYBOARD '{CTRL+TAB}' ELSE KEYBOARD '{CTRL+DNARROW}' ENDIF ENDIF ENDIF IF tnColIndex = THIS.COLUMNCOUNT AND THIS.ROWCOLCHANGE = 2 *** Shift+Tab 15 IF INLIST(LASTKEY(), 15) *** if facility enabled and last row has been reached IF .lLastRowColExit AND .FirstRow() KEYBOARD '{CTRL+SHIFT+TAB}' ELSE KEYBOARD '{CTRL+UPARROW}' ENDIF ENDIF ENDIFIf you feel there is something I might have overlooked please correct me. Of course while reentering the grid using Shift+Tab, ie from bottom, the first column of the last row gets focus instead of the expected last column of the last row (from where it had exited the grid), any suggestions.