diff --git a/base/src/test/user_model/test_defined_names.rs b/base/src/test/user_model/test_defined_names.rs index 23c50dd..d1c7f58 100644 --- a/base/src/test/user_model/test_defined_names.rs +++ b/base/src/test/user_model/test_defined_names.rs @@ -396,3 +396,30 @@ fn undo_redo() { Ok("Hola!".to_string()) ); } + +#[test] +fn change_scope_to_first_sheet() { + let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); + model.new_sheet().unwrap(); + model.set_user_input(0, 1, 1, "Hello").unwrap(); + model + .set_user_input(1, 2, 1, r#"=CONCATENATE(MyName, " world!")"#) + .unwrap(); + model + .new_defined_name("myName", None, "Sheet1!$A$1") + .unwrap(); + + assert_eq!( + model.get_formatted_cell_value(1, 2, 1), + Ok("Hello world!".to_string()) + ); + + model + .update_defined_name("myName", None, "myName", Some(0), "Sheet1!$A$1") + .unwrap(); + + assert_eq!( + model.get_formatted_cell_value(1, 2, 1), + Ok("#NAME?".to_string()) + ); +} diff --git a/webapp/IronCalc/src/components/NameManagerDialog/NameManagerDialog.tsx b/webapp/IronCalc/src/components/NameManagerDialog/NameManagerDialog.tsx index 0c735b4..baa5921 100644 --- a/webapp/IronCalc/src/components/NameManagerDialog/NameManagerDialog.tsx +++ b/webapp/IronCalc/src/components/NameManagerDialog/NameManagerDialog.tsx @@ -98,9 +98,10 @@ function NameManagerDialog(properties: NameManagerDialogProperties) { ) : ( {definedNameList.map((definedName, index) => { - const scopeName = definedName.scope - ? worksheets[definedName.scope].name - : "[global]"; + const scopeName = + definedName.scope !== undefined + ? worksheets[definedName.scope].name + : "[global]"; if (index === editingNameIndex) { return ( s.name === newScope, ); - const scope = scope_index > 0 ? scope_index : undefined; + const scope = scope_index >= 0 ? scope_index : undefined; try { updateDefinedName( definedName.name,