Если вы компилируете свой проект (или запускаете Sub, который автоматически компилирует проект перед запуском), то элемент Compile исчезает, так как проект уже скомпилирован. Как только вы отредактируете свой код VBA, пункт «Компиляция» снова появится в меню «Отладка».
Он немного похож на пункт «Сохранить» в меню «Файл» некоторых приложений, например определенные текстовые редакторы. Если файл не изменился с момента последнего сохранения, элемент «Сохранить» будет недоступен.
Что касается того, почему вы хотели бы скомпилировать: это хороший способ проверки на ошибки времени компиляции, без фактического выполнения вашего кода. Если вы просто запустите его, он будет скомпилирован, а затем приступит к выполнению, если нет ошибок времени компиляции. Вы можете не захотеть, чтобы это произошло, например, если Ваш код отправляет электронную почту, изменяет ваш документ, удаляет файлы или что-то еще.