Самый примитивный способ объявить статическую переменную
Code:
    Static boolValue As Boolean
    ...
   
    If Not boolValue Then
        boolValue = True
    End If
 но она может "обнулиться" в самый неподходящий момент (например, при программном сбое, нажатии на кнопку останов в VBA-редакторе, входе в режим конструктора). Вешать код на событие открытия рабочей книги тоже не вариант - вдруг, пользователь отменит обновление отчета. Самый надежный способ, на мой взгляд, добавлять значение на скрытый лист (например, в ячейку A1) и проверять при очередном обновлении