Order of Worksheets lazarus / 49-FPSpreadsheet ---------------------------------------------------------------------- rwkstgtd · 2020-12-28 20:44 Hello! I want to insert a new worksheet after a given sheet (by copying an existing sheet of the same workbook). As there is no method to insert on a specific position, I wonder if there is any way to rearrange worksheets? Example: My workbook has two sheets, let's say: [sheetA] [sheetB] I need to produce a result that looks:  [sheetA] [sheetA1 (copy)] [sheetB] all I manage to produce is:  [sheetA] [sheetB] [sheetA1 (copy)] (sheetA1 beeing erroneously at the end) sadly activeworksheet property has no influence on inserting, this is no way either. Any solution? Would be great, as FPSpreadsheet works as charme (coming from OleAutomation, where everything is try and error). Thanks, R. Köhler ---------------------------------------------------------------------- wp · 2020-12-28 22:44 Set the Index of the worksheet to the value where you want the worksheet to be: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i program Project1; uses  fpSpreadsheet, fpsTypes, xlsxOOXML; var  book: TsWorkbook;  sheet1, sheet2, sheet3: TsWorksheet; begin  book := TsWorkbook.Create;  try    sheet1 := book.AddWorksheet('Sheet 1');    sheet1.WriteNumber(0, 0, 1.12345);    sheet2 := book.AddWorksheet('Sheet 2');    sheet2.WriteText(1, 1, 'abc');    sheet3 := book.CopyWorksheetFrom(sheet1, true);    sheet3.Name := 'Sheet 1 (Copy)';    sheet3.Index := 0;         // <--- Move last worksheet to the front    book.ActiveWorksheet := book.GetWorksheetByIndex(0);    book.WriteToFile('test.xlsx', sfOOXML, true);  finally    book.Free;  end;end. ---------------------------------------------------------------------- rwkstgtd · 2020-12-28 23:13 OK, that works perfectly  Sorry for bothering, now it seems too obvious. Keep up the great work and tanks a lot! R. Köhler