I can't tell you whether this is a "best way" to do what you want or not,
but it is "a way" to do it. It doesn't use a key short-cut, rather it uses a
right mouse click. Go into the VB editor and double click on ThisWorkbook in
the Project window, then copy/paste this code into the code window that
appeared...
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)
Dim C As Range
Dim NotTorF As Range
On Error GoTo Whoops
Application.EnableEvents = False
For Each C In Target
If C.Text = "TRUE" Or C.Text = "FALSE" Then
C.Value = Not C.Value
ElseIf NotTorF Is Nothing Then
Set NotTorF = C
Else
Set NotTorF = Union(NotTorF, C)
End If
Next
If Not NotTorF Is Nothing Then
Cancel = False
NotTorF.Select
Else
Cancel = True
End If
Whoops:
Application.EnableEvents = True
End Sub
Now, go back to the sheet and select any combination of TRUE and FALSE cells
and right click in the selection (you do not have to restrict yourself to
processing all TRUEs first and then all FALSEs afterward... if the cell in
the selection contains either TRUE or FALSE, that value will be flipped to
its opposite). Note the the normal context menu is suppressed for the TRUE
and FALSE cells; however, if you select non TRUE or FALSE cells, they will
still pop up the context menu. Also, if you mix TRUE or FALSE cells with non
TRUE or FALSE cells, the TRUE and FALSE cells will be removed from the
selection and a context menu will popup for the remaining cells.
Rick