Разница между этой книгой.имя и Activeworkbook.имя в VBA

есть ли разница между Thisworkbook и ActiveWorkbook.

пример кода :

  Sub workbook_name()
     MsgBox Thisworkbook.name
  End Sub



 Sub active_name()
     MsgBox Activeworkbook.name
  End Sub

оба вернут один и тот же вывод,

есть ли другие случаи, когда мы должны использовать особенно ThisWorkbook, где ActiveWorkbook не работает

1 ответов


Activeworkbook.name используется для получения имени активной книги из n различных открытых книг.

Thisworkbook.name используется для получения имени книги, в которой код записан или хранится в модуле этой книги.

например, если вы пишете код в модуле листа или книги A затем Thisworkbook.name вернутся A независимо от того, какой activeworkbook