If you mean a hard-edged selection, try taking your selection into Quick Mask mode, and run Levels or Threshold on it (from the top menu, not an adjustment layer), and then back to Standard mode. Then try filling it.
With Color Range there can be stray partially selected pixels all over the place. It best to first make the color range selection and with the selection active switch to the rectangle marquee tool and hold the Alt or option key down and clean up the stray pixel by subtracting large rectangle areas. You will stall have partially select pixels in the area you want solid. You can use a trick I use when I work on layers mask. Layer Mask are grayscale channels. When you paint with Black and White with the brush blend mode set Overlay the white and black areas are protected. Only the gray partially select area will change. So You can save your cleaned up Color Range selection as an Alpha Channel and paint with white to turn the partially select pixels in the Alpha channel to fully selected.
To show how the overlay mode works I could just have saved the color selection as and Alpha channel. Switched to the Channels palette targeted the alpha and cleaned up the selection. I chose to show that overlay blend will even work in RGB mode when you paint Black and White.
After I cleaned up the stray pixels I added a an empty layer on top om the image and filled the selection with black then inverted the selection and filled with white to create a Black and white work layer. Grabbed a black paint brush set overlay mode and repeatedly brushed over the image and drove the gray pixels to black. View screen capture in a new browser tan ans scale it to actual pixels. This sits scale upload images poorly.