Страницы: 1
RSS
Краткое обращение непосредственно к "общей/сокращаемой части" в блоке «With…End With», How to call the main part in «With…End With» block
 
Приветствую!
Пример
Сократить обращение с помощью переменных или вкладывая несколько With друг в друга могу — вопрос именно в возможности краткого обращения к сокращаемой части (скорее всего нет, т.к. в документации не нашёл)

Итог: к сокращаемой части обратиться нельзя, но для диапазона, например, можно использовать "дублирующее" [к основному обращению] свойство .Cells
Изменено: Jack Famous - 25.01.2022 13:45:12
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
типа «Set rng = .»
так нет, однозначно. Можно лишь хитрить. Вроде того:
Код
Set rng = .Cells

ну и соответственно:
Код
' почти реальный пример
With ActiveSheet.ListObjects(1).DataBodyRange
    If Application.CountA(.Cells) <> 0 Then ' хотелось бы что-то типа «CountA(.Range)» или «CountA(.)»
        .ClearContents
    Else
        .Value2 = "old"
    End If
End With
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков: Set rng = .Cells
браво! Именно это я и хотел для диапазона (только «.Range» брал)
Спасибо большое! В общем случае я понял, что никак, но в основном как раз диапазон был интересен  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
От перестановки местами не меняется сумма, а вот результат можно получить другой.
Да, масло-масляное, но вдруг этого на бутерброд не хватало :)
Код
Set rng = Range("A1")

With rng
 
Цитата
vikttur: With rng
спасибо — я так и делал до совета Димы :D
Иногда так и оставлю - короче будет, но про .Cells, конечно, надо знать — местами намного удобнее будет именно так или комбинацией обращений  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх