Если вы хотите сделать это самостоятельно, можно просто сослаться на материал COM. Я сделал это с другим приложением, которое использовало VBA (AutoCAD). В итоге мы создали класс .net, который ссылался на взаимодействие COM, а затем скопировал весь код в этот проект. Вот как мы создали файл .dll. Затем мы медленно реорганизовали код VBA в C #.
Копирование и вставка не совсем кажутся. Вам нужно внести некоторые коррективы. Например, эта рабочая книга, активная таблица и все те элементы, на которые ссылаются автоматически, не работают автоматически (потому что вы не вне процесса Excel). Но (по крайней мере для нас) это было лучше, чем полное воссоздание логики.
Вот ссылка на некоторый справочный материал - http://au.autodesk.com/?nd=e_class&session_id=5084. Он ссылается на Autocad, но делать это в Excel будет очень похоже.
Надеюсь, это поможет.