(Отказ от ответственности: я разрабатываю библиотеку Excel-DNA.)
Вы должны взглянуть на Excel-DNA - http://exceldna.codeplex.com. Библиотека позволяет управляемым сборкам, написанным на C #, VB.NET или F #, предоставлять высокопроизводительные пользовательские функции и пользовательские макросы в Excel через Excel. Родной интерфейс .xll. Проект с открытым исходным кодом и свободно разрешает коммерческое использование.
Имея опыт работы с VBA, возможно, имеет смысл сначала перейти на .NET с использованием VB.NET. После того, как вы сделали этот переход, начать использовать C # будет намного проще, и вы сможете без проблем создавать перекрестные ссылки на сборки, написанные на VB.NET и C #.
Некоторые надстройки, такие как ReSharper и бесплатная .NET IDE SharpDevelop , могут даже автоматически конвертировать код из VB.NET в C #. Конечно, для использования интерфейса автоматизации COM из C # вы хотите использовать .NET 4.
У Майка Стонтона есть видео беседы о VBA -> VB.NET через технику Excel-DNA: http://www.thalesians.com/finance/index.php/Events/Seminars/Seminar27#Video.