Tab sequence does not follow cell protection upon file load

I have a spreadsheet file containing 13 worksheets. The first worksheet contains a summary of information from the remaining 12 plus an area where the user can enter data from an external source.
The first sheet has cell A1 (which is merged with B1), and cells C13:N16 set as not protected. The remaining 12 worksheets (one for each month have the following cells set to not protected:

T2:T3 (all)

C4:C34, J4:J34 (Jan, Mar, May, Jul, Aug, Oct, Dec)

C4:C32, J4:J32 (Feb)

C4:C33, J4:J33 (Apr, Jun, Sep, Nov)

The top three rows of the month worksheets are frozen and each month worksheet contains two charts.
Protect this sheet is enabled for all the worksheets, Contents of protected cells is enabled, with Allow users to Select protected cells and Allow users to Select unprotected cells both enabled.
When I load or reload this spreadsheet file the first time that I tab through the fields in the month named worksheets but not in the first (Summary) worksheet cells in columns BM through BY that are not used are entered after I tab from the rightmost cell on any given row. Once I have tabbed through the 13 cells BM through BY they are not entered again when I tab through the protected cells.

Until a cell in the BY column has been entered selecting a cell in a column before the BM column and pressing TAB will result in the cell on that row in the BM column being entered, however if a cell in a column beyond the BY is selected pressing TAB will not return to the BM column until the file is reloaded.

Also, when I select all of the cells in a month worksheet and disable cell protection then reenable it before I disable cell protection for the T2:T3 and the cells in the C and J columns the behavior of jumping to the BM cell of the current row does not occur.

This seems to be a bug and I would be happy to report it as such but I cannot replicate it in a simple two worksheet spreadsheet which does not have a chart in the second worksheet nor any data in any of the cells.

By the way I am running Version: (x64)
Build ID: 639b8ac485750d5696d7590a72ef1b496725cfb5
CPU threads: 4; OS: Windows 10.0 Build 19041.630; UI render: default; VCL: win;
Locale: en-US (en_US); UI-Language: en-US
Calc: threaded

This still occurs in version 7
Version: (x64)
Build: 144abb84a525d8e30c9dbbefa…
Environment: CPU threads: 4; OS: Windows 10.0 Build 19041
User Interface: UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Misc: Calc: threaded

LO Calc is definitely susceptible to certain start-up anomalies. However, to track along with your detailed description, can you edit the original post and use the up-arrow icon to upload an anonymized version of your problem ODS?

@joshua4, I could not see a way to edit the original post that allowed me to upload a copy of a file, so this will have to do.
YYYYStatistics-iii.ods (322.4 KB)
In preparing this anonymized version of the file I noticed that the described behavior occurs only in the Apr through Dec worksheets. It does not occur in the Summary, Jan, Feb or Mar worksheets.
Thank you.

I can replicate this behavior with LO 7.3 on Windows 10 using the provided file. The obvious option is to rebuild the sheets. So I tried making sheet copies and I tried copying and pasting all content. In both cases the resulting new sheets exhibited the same behavior.

The real zinger, though, is that deleting the offending columns makes no difference (upon reloading the document). So I’d agree that it is a bug.

If you want to report it, though, you will need to repeat the issue starting from a clean ODS; otherwise I think the assumption has to lie with file corruption. FWIW I looked at the content.xml in the ODS zip file. Nothing glaring stood out, at least, but that’s a lot of XML.

If tabbing after reload is mission-critical, here is a macro that you can put in your LibreOffice My Macros library and launch, say, from a keyboard shortcut or toolbar using Tools>Customize. It’s a very hacky remediation of the problem:

Sub Tabber
	Dim Document   As object
	Dim Dispatcher As object
	Dim Index As integer
	Document   = ThisComponent.CurrentController.Frame
	Dispatcher = createUnoService("")
	For Index = 1 to 3
		Dispatcher.executeDispatch(Document, ".uno:JumpToNextUnprotected", "", 0, Array())
	Next Index
	If ThisComponent.CurrentController.Selection.RangeAddress.EndColumn > 25 Then
		For Index = 1 to 12
			Dispatcher.executeDispatch(Document, ".uno:JumpToNextUnprotected", "", 0, Array())
		Next Index
		For Index = 1 to 2
			Dispatcher.executeDispatch(Document, ".uno:JumpToPreviousUnprotected", "", 0, Array())
		Next Index
		For Index = 1 to 3
			Dispatcher.executeDispatch(Document, ".uno:JumpToPreviousUnprotected", "", 0, Array())
		Next Index
End Sub

Thank you for taking a look at this.
The problem is more of an annoyance than a show stopper. It would be nice if it did not occur, but can be avoided by using Enter following the insertion of the data in the J column rather than Tab.
I had tried deleting the offending columns with the same result that you saw, I just neglected to mention it in my original post.
If it is file corruption as you suggest I have no idea how it occurred; having no desire to rebuild the entire spreadsheet, I suppose that I will just have to live with it.

I understand. But the question isn’t rebuilding the spreadsheet. It is trying to build a very small spreadsheet that exhibits the same (or similar) behavior. That way you contribute to the community by helping remove the bug. If these columns are behaving as NextUnprotected then who knows what other problems lie below the surface from the same root cause.

Repeating Tab, Alt+Tab sequence adds to the puzzle.

EDIT: Sorry, it is Shift+Tab.

On Windows, Alt+Tab is the OS app selector. Can you clarify what functionality you mean by Alt+Tab?

1 Like