Daz Lewis совершенно прав, что вы не должны держать соединения с базой данных открытыми бесконечно. Однако, , если это локальная база данных, и вы используете ее только , тогда вы сможете держать ее открытой, сколько пожелаете.
Добавьте это как верхнюю строку модуля, содержащего ваш код:
Global dbConnPublic As ADODB.Connection
В объекте "ThisWorkbook":
Private Sub Workbook_Open()
Set dbConnPublic = openDBConn() 'Or whatever your DB connection function is called'
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
dbConnPublic.Close
End Sub
Это откроет соединение БД при открытии рабочей книги и закроет его при закрытии рабочей книги. Имейте в виду, что вы можете захотеть убедиться, что соединение все еще открыто, когда вам нужно его использовать, поскольку оно может быть закрыто сервером, если оно открыто слишком долго.