--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Специалистам по Exel вопрос...

5
5
С друзьями на NN.RU
В социальных сетях
Поделиться
Falcon
15.01.2007
Необходимо достать номер строки ячейки, которая была активна на соседнем листе???...
(а Exel их помнит, потому как при возврате на лист именно эта ячейка остается активной)
DDDsoft
15.01.2007
Насколько я помню только на VBA это можно сделать.
Ибо активная ячейка - не свойство рабочего листа (Application.ActiveWindow.ActiveCell).
В рабочей книге определяете события деактивации листов, например, (SheetDeactivate) и заполняете некоторую структуру при каждом событии.

Вообщем, там строк 30 кода будет. Если без кодирования - то не знаю как.
Falcon
15.01.2007
процедуры SheetDeactivate и SheetАctivate не пляшут, так как выполняются уже после активации нового листа и активная ячейка тоже на новом листе, а надо с предыдущего...
через макросы я щас и сделал, но его надо кнопкой запускать (в нем как раз запоминаем свойства активной ячейки и активизируем нужный лист).. но уж очень это неудобно...
DDDsoft
15.01.2007
Что-то мудрено. Может как-то иначе интерфейс реализовать?

все что могу предложить это


'required worksheet
Public thatWorkSheet As Worksheet
'here we remember the cell
Public cellAtThatSheet As Range

'note that it's workbook method
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Set thatWorkSheet = Worksheets("Sheet3")
If (Target.Worksheet Is thatWorkSheet) Then
'store the active cell
Set cellAtThatSheet = Target
'actually, target won;t be always a range - here some smart check required
MsgBox http://cellAtThatSheet.Worksheet.Name & cellAtThatSheet.Address
End If
End Sub

'Public sub; you may call it anytime and from any module
Public Sub showThatCell()
If cellAtThatSheet Is Nothing Then Exit Sub
MsgBox http://cellAtThatSheet.Worksheet.Name & cellAtThatSheet.Address
End Sub
Andrey
15.01.2007
Через формулы - никак :(
Можно только через макрос... Поскольку "кнопок не хотса" - надо "вешаться на событие".
В приложенном файле "грабит данные всех листов" - кто там где активен :) по событию смены листа... Метод "полного перебора будет крайне неээфективен при большом числе листов, по сему целесообразно там выделить - при переходе на какие листы "обновляться" (в данном примере не обновляется только при переходе на Лист4) и с каких листов тащить данные.

При большом файле на дохлом компе - может несколько подтормаживать... Более умного решения с ходу не придумал.
К сообщению прикреплен файл:
5236035.test2.xls   (0 Kb)   Скачать файл
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Форум Тема (Автор) Последний ответ Ответов
Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.

Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.