Энергия волн светового диапазона соответствует не колебаниям связей в молекулах ("молекулярная структура"), им соответствуют более длинные ИК волны, а электронным переходам ("электронная структура", наверное, можно сказать). Окрашивание предметов при попадании на них света представляет собой избирательное поглощение волн в каком-то диапазоне и рассеивание остальных (термин "отражение" в данном случае не очень удачен, поскольку собственно отражение происходит в относительно небольшом количестве случаев, но вообще для наших целей отражение можно считать частным случаем рассеивания и говорить о рассеянии, даже если мы имеем дело с отражением, как, например, в случае окрашенного зеркала).
При этом мы видим цвет, являющийся дополнительным к поглощаемому, т.е. как бы "белый свет минус поглощенный 'цветной' свет". Например, если банан нам видится желтым, то это значит, что что-то в нем поглощает фотоны, соответствующие фиолетовому cвету, в красном яблоке - что-то поглощает "зеленые" фотоны и т.д. Механизм поглощения светового излучения в общем-то всегда один - некоторый электрон находится в основном состоянии, а затем поглощает фотон и переходит в возбужденное состояние. То есть, для того, чтобы соединение имело какой-то цвет, нужно, чтобы у него были электроны, у которых энергетический зазор между основным и возбужденным состоянием соответствовал бы какой-то длине волны в световом диапазоне. Это могут быть органические (иногда и неорганически) соединения с пи-электронами, могут быть ионы d- или f-элементов, могут быть комплексы с переносом заряда и т.д. и т.п.
А вообще я вспомнил - на вопрос, что именно ответственно за окрашивание, уже отвечали, см. ответ Дмитрия, да и мой тоже.