то при изменении размера окна (например, сделать окно меньше), именованная ячейка прокручивается выше видимого экрана. Что можно изменить в макросе, чтобы при его выполнении ячейка "test" ВСЕГДА была вверху экрана. Помогите, плиз
Надо тестить, поиграйтесь с количеством ячеек для своего монитора Мне для ноута подошла пропорция 11 ячеек с любым зумом
Код
Sub tt()
Dim lngZoom As Long
Dim dblOffset As Double
lngZoom = ActiveWindow.Zoom
dblOffset = Int(11 / (lngZoom / 100))
With Range(Names("test" ;) )
.Offset(dblOffset, 0).Select: .Select
End With
End Sub
LightZ, Эта таблица лежит в сетевой папке и ее юзают на разных компах, соответственно прокрутка именованной ячейки до верха экрана у всех будет выполняться по-разному. Может быть есть другой способ?
Nic70y, CTRL + UP переходим к краю текущей области данных, это конечно не то, хотя может быть я вас не совсем понял, приведите пример, как это программно
С.М., Если не сложно, как изменить ваш код, чтобы именованная ячейка после выполнения макроса была без выделения. Например активная ячейка A1, далее выполняется макрос который "прокручивает" таблицу на именованную ячейку, но при этом активной оставалась ячейка A1
С.М., Вы меня не поняли, с просьбой выделить A1 Cells(1).Select я не стал бы обращаться, и отнимать у вас время, наверное, я плохо объяснил. Например:
Код
Range("A1").ClearContents
здесь мы обращаемся к ячейке А1 без выделения и удаляем содержание в ней Также и в моем случае: Ставлю курсор на А1 или на А101, тем самым делаю ячейку активной (так надо, долго объяснять), далее выполняется макрос