As far as I can tell there are no non-alpha
letters, and characters that not are alpha
don’t have a “case” in the needed sense.
Therefore the question actually asks for the conversion of the first character of text contained in cells to be converted to upper case if possible at all.
Put the Basic “macro” posted below in an appropriate module.
Select the cell ranges in your sheet you want to be processed and call the macro. All the changes made to the elected cells can be undone by a single Ctrl+Z
then. Cells not containing text will be skipped anyway.
REM ***** BASIC *****
Sub goThroughSelectionTextCellsMakeUpperChar1(Optional pDoc As Object)
If IsMissing(pDoc) Then pDoc = ThisComponent
rgs = pDoc.CurrentSelection.queryContentCells(4)
uMgr = pDoc.UndoManager
uMgr.enterUndoContext("Char1 to upper case")
For Each rg In rgs
da = rg.getDataarray()
uR = Ubound(da) : uC = Ubound(da(0))
For r = 0 To uR
For c = 0 To uC
Mid(da(r)(c), 1, 1, Ucase(Left(da(r)(c), 1)))
Next c
Next r
rg.setDataArray(da)
Next rg
uMgr.leaveUndoContext
End Sub