diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
index 17bf417..c1442b5 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
@@ -4637,10 +4637,15 @@ endmethod.
- method SET_TITLE.
+ METHOD set_title.
DATA: lo_worksheets_iterator TYPE REF TO cl_object_collection_iterator,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- errormessage TYPE string.
+ errormessage TYPE string,
+ lv_rangesheetname_old TYPE string,
+ lv_rangesheetname_new TYPE string,
+ lo_ranges_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_range TYPE REF TO zcl_excel_range,
+ lv_range_value TYPE zexcel_range_value.
* Check whether title consists only of allowed characters
@@ -4666,9 +4671,25 @@ endmethod.
ENDIF.
ENDWHILE.
+ CONCATENATE me->title '!' INTO lv_rangesheetname_old.
me->title = ip_title.
-endmethod.
+* After changing this worksheets title we have to adjust
+* all ranges that are referring to this worksheet.
+
+ CONCATENATE me->title '!' INTO lv_rangesheetname_new.
+
+ lo_ranges_iterator = me->excel->get_ranges_iterator( ).
+ WHILE lo_ranges_iterator->has_next( ) = 'X'.
+ lo_range ?= lo_ranges_iterator->get_next( ).
+ lv_range_value = lo_range->get_value( ).
+ REPLACE ALL OCCURRENCES OF lv_rangesheetname_old IN lv_range_value WITH lv_rangesheetname_new.
+ IF sy-subrc = 0.
+ lo_range->set_range_value( lv_range_value ).
+ ENDIF.
+
+ ENDWHILE.
+ENDMETHOD.