Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про макрос / 7 сообщений из 7, страница 1 из 1
25.03.2009, 10:43:30
    #35890174
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
Добрый день, форумчане!

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
№  |  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, типа надстройка, а дальше подключил его в экселе и работаю как со стандартными функциями.
Но вот в чем проблема... Когда я меняю колонку В, то колонка А автоматически естественно не меняется, остается как было.
Что нужно дописать, чтобы колонка А менялась в зависимости от изменений колонки В?
...
Рейтинг: 0 / 0
25.03.2009, 12:18:14
    #35890385
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
обработка изменения данных листа не помогает?
...
Рейтинг: 0 / 0
25.03.2009, 12:32:09
    #35890426
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
нет

больше того - при фильтрации слетатет... вместо цифр пишет #ЗНАЧ!
...
Рейтинг: 0 / 0
25.03.2009, 13:15:12
    #35890572
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
Вариант решения без макроса :)
- в ячейку A1 поместить цифру 1
- в ячейку A2 формулу =ЕСЛИ(СМЕЩ(A2;0;1)<>"";СМЕЩ(A2;-1;0)+1;СМЕЩ(A2;-1;0))
- в ячейке A2 написать формулу условного форматирования =A2=СМЕЩ(A2;-1;0) и Формат\Шрифт\Цвет "белый"
-скопировать ячейку A2 на все ячейки колонки A начиная с ячейки A3

Слабое место, что при выделении ячеек, повторяющиеся значения ("белые") все-же видны
...
Рейтинг: 0 / 0
25.03.2009, 13:33:29
    #35890646
Папа Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
Demer...Что нужно дописать, чтобы колонка А менялась в зависимости от изменений колонки В?

Ничего не нужно. Посмотрите в файле. Может пригодится.
...
Рейтинг: 0 / 0
25.03.2009, 13:33:53
    #35890648
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
Не понял...
sergeyvg- в ячейку A2 формулу =ЕСЛИ(СМЕЩ(A2;0;1)<>"";СМЕЩ(A2;-1;0)+1;СМЕЩ(A2;-1;0))
- в ячейке A2 написать формулу условного форматирования =A2=СМЕЩ(A2;-1;0) и Формат\Шрифт\Цвет "белый"
Два раза про А2 - это очепятка?

С формулами у меня беда ))
...
Рейтинг: 0 / 0
25.03.2009, 13:36:12
    #35890653
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про макрос
Папа ИгорьDemer...Что нужно дописать, чтобы колонка А менялась в зависимости от изменений колонки В?

Ничего не нужно. Посмотрите в файле. Может пригодится.


СПАСИБО ОГРОМНОЕ )))))
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про макрос / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]