I didn't forget about you. It was late night, my time, when I replied. I was out all day today.
This macro uses a Dictionary object instead of a collection. The Dictionary has several added features that Collections don't have but I won't go into to detail about that here.
The attached workbook has a second sheet added to it named "Elem Data". This is a listing of the elements and their masses. This is easier to update than a long array in your macro. A range's values can be read vary easily and quickly into an array using the macro. In the long run, this will make your life easier.
I have annotated the macro to help you better understand what it is doing. Using arrays to manipulate Excel data is always faster than going cell by cell. Turning off screen updating helps speed up the macro as the screen is updated only once after all values have been updated. This also eliminates screen flicker.
Here is the macro that has been added to the attached workbook...