#excel #vba #loops
#vba #превосходить
Вопрос:
Есть ли какая-либо разница между этой рабочей книгой и активной рабочей книгой.
Пример кода :
Sub workbook_name() MsgBox Thisworkbook.name End Sub Sub active_name() MsgBox Activeworkbook.name End Sub
Оба вернут один и тот же результат,
Есть ли какие-либо другие случаи, когда мы должны использовать, в частности, эту рабочую книгу, где ActiveWorkbook не работает
Комментарии:
1. Объект ThisWorkbook ссылается на книгу, в которой находится код. Объект ActiveWorkbook ссылается на книгу, которая в данный момент активна.
2. Спасибо за быстрый ответ Om3r
Ответ №1:
Activeworkbook.name
используется для получения имени активной книги из n разных открытых книг.
Thisworkbook.name
используется для получения имени книги, в которой код записан или хранится в модуле этой книги.
Например, если вы пишете код в модуле или листе рабочей книги A
, то Thisworkbook.name
он вернется A
независимо от того, какая из них является activeworkbook
Комментарии:
1. Просто чтобы немного уточнить это —
ThisWorkbook
относится к рабочей книге, в которой находится код, выполняемый в этот момент времени. Это то, что, я думаю, вы все равно говорите в своем ответе, но подумали, что это может быть немного яснее. 1