Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Про макрос 
:(
    Опции темы
voDizz
Дата 25.3.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Добрый день, форумчане!

Есть такая тема - я написал макрос, который заполняет столбец (А) номерами по порядку, причем если во втором столбце (В) строка пустая, то в заполняемом тоже пропускается место, а дальше продолжает нумеровать. Вот как это выглядит:


Код

№  |  A   |    B
-----------------------
1   |   1   |   asd
2   |   2   |   fdgh
3   |        |   
4   |   3   |   ptyi
5   |   4   |   fglk
6   |        |   
7   |        |   
8   |        |   
9   |   5   |   ityu
10 |   6   |   poyiu



А вот сам код

Код

Function NextNPP(cellData As Range)
    r = cellData.Row - 1
    c = Selection.Column
    
        If Len(cellData.Value) > 0 Then
            For i = 0 To r
                If Len(Cells(r - i, c).Value) > 0 Then
                    NextNPP = Cells(r - i, c).Value + 1
                    Exit For
                End If
            Next
        Else
            NextNPP = ""
        End If
End Function



Этот код я написал в модуле и файл сохранил с расширением xla, типа надстройка, а дальше подключил его в экселе и работаю как со стандартными функциями.
Но вот в чем проблема... Когда я меняю колонку В, то колонка А автоматически естественно не меняется, остается как было. 
Что нужно дописать, чтобы колонка А менялась в зависимости от изменений колонки В?
PM MAIL   Вверх
Naghual
Дата 25.3.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Цитата(voDizz @  25.3.2009,  09:56 Найти цитируемый пост)
чтобы колонка А менялась в зависимости от изменений колонки В? 

Это будет не целесообразно, так-как при ЛЮБОМ изменении данных или формата ячейки будет в цикле изменен весь столбец Б.
При необходимости внести ряд изменений в данные в А вы столкнетесь с проблемой торможения вашей работы вашим-же макросом.

Я предлагаю Вам вынести на панель инструментов кнопку для запуска данного мастера, и нажимать на нее по окончании редактирования.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
RockClimber
Дата 30.3.2009, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Тут макрос вообще не нужен.
В столбец А пишем: в первую строчку - 1, во вторую - формулу: "=ЕСЛИ(B2="";"";МАКС($A$1:A1)+1)" и растягиваем ее до конца столбца.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0603 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.