En esta dirección tienes un ejemplo que te he hecho
http://www.mytempdir.com/604233
Es un poco chapucilla pero funciona bien. Mira el código y si tienes alguna duda me comentas. Para saber que celdas tienes seleccionadas les cambio primero el fondo y en base a ese fondo sé si la celda está o no seleccionada. Luego lo vuelvo a dejar igual.
Si me dieras más datos sobre tu aplicación podría pensar algo más sofisticado, pero de momento creo que esto te servirá. Te aconsejo que los "for"s que hay los ajustes lo más posible a tus necesidades para que vaya lo más rápido posible. En el ejemplo yo recorro la esquina superior entera (desde A1 hasta F10), pero sólo tengo datos donde los ves, así que debería ajustar a esas líneas y columnas.
Espero te sea útil.