{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["Macro","Version History","Ranges"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":10,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Macro","index":0,"n_rows":9,"n_cols":5,"rows_kept":9,"cut":false,"hidden":false,"merged":[[0,0,1,0],[7,2,7,7]]}
[null,null,"Header Lines:",null,"The number of lines that should appear only once (at the top of the macro file)."]
[null,null,"Data Table Name:",null,"The Table that contains the Data to be Replicated.   DataTable (Empty) or YourWorkbook.xlsx!YourDataTable for example."]
[null,null,"Filter Column:",null,"Only rows in this column that are equal to TRUE in the Data Table will be included.  Leave blank for no filtering."]
["Update the text in Macro Lines with {DataColumnName} or {RecordNumber} everywhere data is to be replaced.",null,"Max {RecordNumber}:",null,"Leave blank for no maximum or set to the number of rows when entering data into a grid."]
["Macro Lines",null,"Replicated  Macro File:",null,"The default filename for the Replicated macro."]
[]
[]
[null,null,{"$f":"IFERROR(\"Data Table: The macro will be repeated \" & IF(FilterColumnName=\"\",\"\",COUNTIF(INDIRECT(DataTableName & \"[\" & FilterColumnName &\"]\"),\"=TRUE\") & \" times out of \") & ROWS(INDIRECT(DataTableName & \"[#Data]\")) & IF(FilterColumnName=\"\", \" times.\", \" rows.\"), \"Please make sure the Data Table Name and Filter Column are correct\")","v":"Data Table: The macro will be repeated 1 times."}]
[null,null,"Data Columns"]

{"sheet":"Version History","index":1,"n_rows":12,"n_cols":3,"rows_kept":12,"cut":false,"hidden":false,"merged":[]}
["Date","Version","Comment"]
["2022-10-04","1.1.0.2","Fixed problem with Scrolling Window code"]
[null,null,"Clear Macro and Clear Data Table buttons - Don’t Prompt to delete if the tables are empty."]
["2021-10-10","1.1.0.1","Feature: Name the Data Column starting with a ~ to prevent Replicator from changing all ' to ~' when Replicating"]
["2020-10-15","1.1.0.0","Added Map Columns to easily map data columns into the macro"]
[null,null,"Fixed bug that occurred if a ' or ~ was in the data."]
[null,null,"Updated \"Freeze Panes\" so the top of data table is always visible "]
[null,null,"Renamed \"Header Rows\" to \"Header Lines\""]
[null,null,"Repositioned the Clear Data and Reset Data buttons"]
["2019-08-12","1.0.1.0","Added Data Table Name"]
[null,null,"Fixed bug that disabled ribbon after Replace DataTable"]
["2018-01-29","1.0.0.2","Updated and added buttons"]

{"sheet":"Ranges","index":2,"n_rows":6,"n_cols":2,"rows_kept":6,"cut":false,"hidden":true,"merged":[]}
["This contains data used by Replicator but I didn't want to clutter up the Macro page"]
[]
["DefaultDataTable","DataTable"]
["DataTableToUse:",{"$f":"IF(DataTableEntered=\"\",DefaultDataTableName,DataTableEntered)","v":"DataTable"}]
["ValidDataTable:",{"$f":"IFERROR(SIGN(ROW(INDIRECT(DataTableName & \"[#Headers]\"))), 0)","v":1}]
["FilterColumnIndexCell:",{"$f":"IF(FilterColumnName=\"\",0,IFERROR(MATCH(FilterColumnName,INDIRECT(DataTableName&\"[#Headers]\"), 0), -1))","v":0}]