Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вопрос по VB для Экселя. Добавлено: 22.11.06 13:28  

Автор вопроса:  Сергей
Привет.
Может кто сталкивался или кто знает помогите пож-та.
Суть такая: необходимо в экселе написать макрос. Причем загвоздка в том, что необходимо получить координаты АКТИВНОЙ ячейки (номер строки, номер столбца) в цифрах. Есть ли такая функция, возвращающая координаты активной ячейки или как это можно обойти? Т.е. хочу написать универсальную процедуру, но "ей" необходимо знать координаты ячейки (активной), чтоб потом отталкиваться от них.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Незнайка



Вопросов: 7
Ответов: 188
 Профиль | | #1 Добавлено: 22.11.06 13:57
Если именно только цифры, то:
Столбец=Selection.Column
Строка=Selection.Row

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 22.11.06 14:57
http://www.vbnet.ru/forum/show.aspx?id=123136
Target - возвращает активную ячейку при её активации

Для наглядности:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Target.Value = 45
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Сергей



Вопросов: 13
Ответов: 25
 Профиль | | #3 Добавлено: 22.11.06 15:36
АлександР, Незнайка - благодарю за ответы.
А можно ли как-нить получить координаты ячейки, которая была изменена (в обрабочтике Private Sub Worksheet_Change(ByVal Target As Range)). Вот в чем вопрос... ;). функции Selection.Column(Row) возвращают координаты текущей активной ячейки, но она не равна измененной (после нажатия Ентера) курсор переходит или вправо или вниз, вот этой ячейки и возвращаютя координаты. А можно ли узнать координаты измененной, которая вызвала "Worksheet_Change"?

Ответить

Номер ответа: 4
Автор ответа:
 Незнайка



Вопросов: 7
Ответов: 188
 Профиль | | #4 Добавлено: 22.11.06 17:01
Эти методы существуют, но к сожалению обращаться к ним из VBA невозможно.

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 22.11.06 17:11
Незнайка, не говори чушь.

Сергей, а Target это по-твоему что?

Ответить

Номер ответа: 6
Автор ответа:
 Сергей



Вопросов: 13
Ответов: 25
 Профиль | | #6 Добавлено: 23.11.06 08:39
Все разобрался, работает. Для тех кому интересно:
в событии "Worksheet_Change" можно получить координаты ячейки, вызвавшей событие:

Row_ch = Target.Row 'номер строки.
Col_ch = Target.Column 'и, соответственно, номер столбца.

Ответить

Номер ответа: 7
Автор ответа:
 Незнайка



Вопросов: 7
Ответов: 188
 Профиль | | #7 Добавлено: 23.11.06 09:43
Согласен...
Я имел ввиду походу своё...а именно, что невозможно при событии Worksheet_Change(ByVal Target As Range)определить какое значение было до этого и на какое оно изменилось - например, как это происходит при записи событий когда назначен общий доступ к книге. Как например отслеживать удаление сторок??? Или изменение диапазонов???
Просто ответил не в тему...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам