; Macro: Masks corresponding cells in a range of columns if a cell ; in the input column is masked. This macro can be very useful ; when used in conjunction with the mask command in Formula Entry. ; CM ; Clear all Memory Registers FIX 6 ; ; Input Dialog Box: alpha "Input Column" STOa 0 0e+00 STO 00 alpha "Initial Column to be Masked" STOa 1 1 STO 01 alpha "Last Column to be Masked" STOa 2 2 STO 02 alpha "Masking Macro" inpt 3 ; ; Storage Locations ; 00 - Column being used for input ; 01 - First column getting masked ; 02 - Last column getting masked ; 03 - Number of rows in data window ; 04 - Column Counter ; 06 - Row and Col. # of input column in decimal form ; 07 - Row and Col. # of masking column in decimal form ; ibase size ; Returns the size of the data window STO 03 ; Stores the number of rows that are in the data window RCL 00 ; Recall input column 1000 / ; Divide column by 1000 STO 06 ; Store column in decimal format ; LBL 10 RCL 01 ; Recall column number STO 04 ; Set Column Counter RCLi 06 ; Recall data from cell specified in mem. reg. 06 test 2 ; Test for masked data cell XEQ 20 ; Execute routine for masking corresponding cells 0e+00 DSE 03 ; Decrement counter by 1, are contents of 03 > 0.0 GTO 40 ; Yes - Increase row number by 1 STOP ; No - Stop program ; LBL 20 RCL 06 ; Recall current address int ; Get current row # STO 07 ; Store current row # in 07 ; LBL 25 RCL 04 ; Recall current column 1000 / ; Divide column by 1000 STO 08 ; Store column in decimal format ; LBL 30 RCL 07 ; Recall current row # ADD 08 ; Add row # to current column # Mi 08 ; Mask the cell at the address specified in mem. reg. 08 RCL 02 ; Recall final column value ISG 04 ; Increment counter by 1, are contents of 04 <= 02 GTO 25 ; Yes - Increase column RTN ; LBL 40 1 ADD 06 ; Increase current address by 1 GTO 10 ; ; Version 1.0 - September 22, 1993 ; by Steve Wilson