If you have an active filter and/or some cells or columns hidden when you make a selection, Excel in fact makes automagically selection of only visible cells. The problem is that you cannot paste such non-contiguous selection to this same, non-contiguous cells, replacing e.g. formulas with values. A simple way how to achieve this effect is using a VBA loop. Just make any selection of cells and run a macro that will loop through each cell individually and paste the cell as a value. Computationally very inefficient and slow, but it works and for hundreds to small thousands of cells it is a viable option. For dozens of thousands to millions of cells run it overnight ;-)