> could anyone kindly tell me how to refer to range that is common to both > selected range and UsedRange? e.g. you select a column and start a macro > to do smth For Each cell In Selection. (of corse with intention to do > smth to smth, not to nothing) with 65536 rows as it is nowadays it might > take forever. so to economize some time etc. I'm afraid I misread your post when I first replied. In a Sub procedure run from the active sheet, the following will do what you describe: For Each c in Intersect(Selection, ActiveSheet.UsedRange) [Do something] Next Note that it is not necessary to select the range in order to do something; you need only refer to it, as above. Sorry for the confusion. Alan Beban