Здравствуйте.
Возможна и другая причина.
Дословный перевод сообщения: "Библиотека типов неправильная или содержит ссылки на определения типов, которые не могут быть найдена". Вторая часть сообщения в переводе на человеческий означает, что библиотека (макрос) ссылается на объекты, которые не доступны на данном ПК. К примеру, макрос мог быть создан на машине, где стоял MS Office, и в References этого макроса был добавлен соответствующий ActiveX компонент Microsoft Excel 11.0 Object Library, который содержит определения типов объектов для автоматизации Excel'а. А вот на текущем ПК MS Office не установлен, соответствующей библиотеки нет, и поэтому VBA отображает ошибку.
Посему рекомендую проверить список подключенных References на исходной машине и сравнить его с тем, что задан на текущей. Думаю, понятно, что "все нужные библиотеки типов подключены в References" должно относиться не только к Катийным библиотекам, но и ко всем сторонним компонентам, как в примере выше. Причём версии библиотек не имеют значения, если сама библиотека реализует тот же компонент, на который идёт ссылка из catvba.
А ещё такая ошибка возникает, когда в одной библиотеке несколько десятков/сотни модулей. Но, думаю, у Вас не этот случай
