2015-08-11 2 views
0

Некоторые из ваших сторонников не используют ActivateSheet. Итак, как мне получить имя активного листа?Как найти имя активного листа без использования ActiveSheet?

+0

James, добро пожаловать в SO! :) Прошу вас, [тур] (http://stackoverflow.com/tour), чтобы заработать свой первый блестящий значок;) Кроме того, этот вопрос слишком широк, и я думаю, что он будет закрыт или закончится отрицательной репутацией. –

+1

Ну, если вы хотите, чтобы имя 'ActiveSheet', а не' ActiveSheet.Name'? Я не думаю, что кто-то утверждает, что вы никогда не должны использовать «ActiveSheet» - просто чтобы вы не злоупотребляли им. –

ответ

1

Вы можете использовать Selection.Parent.Name Однако это еще хуже.

Одна из причин, чтобы не использовать Selection или ActiveSheet является то, что во время отладки, вы можете осмотреть другие листы или выбрать другие клетки, и если вы затем продолжить F5 или F8, вы будете работать на других данных, чем предполагалось.

Но если действие, принятое вашим кодом, ДОЛЖНО зависеть от того, какой лист в настоящее время активен, просто используйте ActiveSheet. (Если вам это нужно в конце подпрограммы или если вам нужно это дважды, однако, подумайте о назначении ей переменной в начале.

Смежные вопросы